zoukankan      html  css  js  c++  java
  • Day09文件操作

    1.什么是文件
    文件:操作系统为应用程序或者用户提供的一种操作硬盘的虚拟单位
    强调:①文件是操作系统提供的虚拟单位②应用程序或者用户对文件的读写操作其实都是向操作系统发送指令
    2.为什么要用文件
    文件对应的是硬盘,如果要永久保存数据,就必须使用文件
    3.如何用文件
    ①打开文件②读or写③关闭文件
    open(文件路径,模式,编码方式) 路径分隔符:windows系统 linux系统/ rawstring 路径前加r,原始字符串
    4.为什么要关闭文件
    open向操作系统发起请求,操作系统操作硬盘,映射出一片硬盘空间,open有返回值,open在应用程序内占用一片内存空间,在操作系统中也占有一片空间
    应用程序,python解释器有垃圾回收机制,会回收应用程序的内存而操作系统占用的内存需使用命令关闭
    5.如何关闭文件
    f.close()向操作系统发指令,让操作系统关闭打开的文件,回收操作系统资源,但f对应的应用程序未结束,故此时可以打印f,但无法对f进行读写操作,因为f对应的文件在操作系统中关闭了
    ps:f.read()向操作系统发起请求,windows操作系统默认为gbk编码,以utf-8存的数据,open时未指定编码规则会报错
    6.文件打开的上下文管理器
    with open其中with会帮我们自动关闭文件
    7.文件读写的操作模式:r,w,a;控制文件读写操作内容的模式:t(文本模式)b(bytes)二进制
    t模式会将硬盘的二进制数据转换成unicode二进制
    t,b模式不能单独使用,必须与r,w,a连用
    r只读模式,文件不存在会报错;文件存在,指针跑到文件开头
    w只写模式,文件不存在新建文件;文件存在会清空文件,指针跑到文件开头
    a只追加写模式,文件不存在会新建文件;文件存在指针跑到文件末尾
    t模式无论读写都是以字符串为单位,只能操作文本文件,一定要指定encoding参数
    b模式无论读写都是以二进制位单位,可以操作所有类型的文件,一定不能指定encoding参数

    readlines()全读出来,存成列表,有换行的,会识别出换行符
    readline()逐行读,字符串
    read()以字符串形式全读出来
    ,换行 回到行首 windows换行符 open函数统一将换行符转换成
    writelines(iterable)原理for参数,将参数逐行写入

    8.修改文件的两种方式
    1.全部读入内存
    ①以读的方式打开源文件②将文件内的内容一次性读入内存,在内存中完成修改③以写的方式打开源文件,将修改后的内容写回文件
    2.逐行读入内存
    ①以读的方式打开源文件,以写的方式打开临时文件②将源文件逐行读入内存,修改后写入临时文件③删除源文件,将临时文件重命名为源文件

  • 相关阅读:
    树上莫队学习笔记
    点分治学习笔记
    7.11总结
    线段树合并学习笔记
    7.10总结
    bzoj1201: [HNOI2005]数三角形----递推+bitset
    bitset(01串)优化
    Tarjan系列1
    bsgs(Baby Steps Giant Steps)算法
    [SD2015]序列统计——solution
  • 原文地址:https://www.cnblogs.com/robert-zhou/p/10023884.html
Copyright © 2011-2022 走看看