非文本文件(以字节的形式读取数据) rb wb ab r+b w+b a+b 3、相关操作 1、seek() 移动光标(重点) seek(参数1,参数2) 参数1:偏移量,相对于基准移动多少个单位 参数2:表示从什么位置开始移动,找基准{0:开头,1:当前位子,2:末尾} seek(n) 读取n字节 f.read(n) 读取n个字符 seek(0) 光标移动到开头 seek(0,2)光标移动到末尾 2、tell() 获取光标当前位置的索引 3、truncate() 截取文件 4、文件修改 with open() as 句柄1, open() as 句柄2: 优点:打开文件后不需要手动关闭文件句柄
文件修改的步骤 1、从源文件中读取数据 2、将修改后的内容写入到文件副本中 3、删除源文件 4、把副本重命名成源文件 import os os.remove() os.rename() 实例(推荐默写): import os # 导入os模块 with open("天使","w",encoding="utf-8") as f: str='''一位美丽的天使
好美的天使姐姐
善良的天使
啊~ 天使呀。。。''' f.white(str)
with open("天使", mode="r", encoding="utf-8") as f1, open("天使_副本", mode="w", encoding="utf-8") as f2: for line in f1: line = line.replace("天使", "丑陋") f2.write(line) os.remove("天使") # 删除源文件 os.rename("天使_副本", "天使")