二十六. 文件
f = open(文件路径,mode = '模式',encoding = '编码格式')
1.基础
① 读写时,主要看光标的位置
②操作完成要写 f.close( )
f.flush( )
③f 文件句柄是一个可迭代对象 可用for 循环
④要用 进行增减空白
2.文件路径
① 相对路径:.相对于当前程序所在的文件夹,如果在文件夹内,直接写名字
不在时,需要出文件或进文件
文件名 / 进文件
../ 出文件
②绝对路径:从磁盘根目录寻找路径 (有问题)
只有在记录日志时用到
3.mode
① r : 只读
1. .read( ) 读取全部 光标移到末尾
.read(5) 读取5个字符 光标移到第五个后
2. .readline( ) 读一行
3. .readline( ) 把所有内容读取到列表 以每一行为元素
② w : 只写 文件夹不存在时创建一个新的
每次打开都会清空文件
.write( 'x') 把x写入文件
③ a : 追加 不能读 可以创建文件
④ r+ : 先读后写 只要读了就在末尾追加
⑤ w+: 清空 先写后读 (很少人用)
会用到 .seek( 0) 写完将光标移到最前面
⑥ a+ : 追加写读 所有的写都在末尾 光标在最后
⑦带 b的表示直接操作 bytes 处理非文本文件
rb : 读
wb: 写
ab: 断点续传
⑧ r + b w+ b a +b 处理的是 0 1 代码
4.文件操作
① .seek( 0) 移动到开头
.seek(0,2) 光标移动 以字节计算
前面位置是 -- 偏移量
后面位置是 -- 0 表示开头 1表示当前 2 表示 末尾
② .tell( ) 光标当前的位置 以字节计算
5.实际操作
①先从文件中读取内容
②把要修改的内容进行修改
③把修改好的内容写入一个新文件
④删除掉原来的文件
⑤把新文件重命名成原来文件的名字
例1
例2