文件读写
文件读写
OS
os.path.join()
os.path.exists()
os.listdir()
os.path.isdir()
open
with open(…) as f
| |
参数1:文件地址
参数2:读写方式
w从头写 r只读 a追加
读写方式 是否为 二进制 是否为 可读可写 r 空 空 w b + a 共 3*2*2=12种
模式对照表 和 f.seek(n)
模式 描述 文件存在 文件不存在 指针位置 r+ 读写(文件必须存在) 不清空,从指针位置“覆盖写” 报错 开头 w+ 写读(清空后读写) 必定清空,从指针位置写 创建 开头 a+ 追加读写 必定从末尾写 创建 末尾 1 2 3 4 5 6 7 8 9 10 11 12 13 14# 创建文件 with open('test_r+.txt', 'w') as f: f.write('旧内容') # r+ try: # 不存在改文件会报错 with open('test_r+.txt', 'r+') as f: print(f.read()) # 输出: 旧内容^ (^指针位置) f.seek(0) # ^旧内容 (移动指针位置到开头) f.write('新') # 新^内容 (从指针位置覆盖写入) f.seek(0) # ^新内容 print(f.read()) # 输出: 新内容 except FileNotFoundError: print("文件不存在")1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16# 创建文件 with open('test_w+.txt', 'w') as f: f.write('原始内容') # w+ with open('test_w+.txt', 'w+') as f: f.write('全新内容') # 清空后写入 全新内容^ f.seek(0) # 移动指针到开头 ^全新内容 print(f.read()) # 输出: 全新内容 # 文件不存在时 import os with open('new_w+.txt', 'w+') as f: f.write('创建内容') f.seek(0) print(os.path.abspath('new_w+.txt')) # 输出: 创建的文件的绝对路径1 2 3 4 5 6 7 8 9 10 11 12 13 14 15# 创建文件 with open('test_a+.txt', 'w') as f: f.write('初始行\n') # a+ with open('test_a+.txt', 'a+') as f: f.write('追加行\n') # 追加行\n^ f.seek(0) # ^初始行\n追加行\n print(f.read()) # 输出: 初始行\n追加行\n # 验证指针特性 f.seek(5) # 初始行\n追^加行\n f.write('中间插入') # 仍然追加到文件末尾! f.seek(0) print(f.read()) # 输出: 初始行\n追加行\n中间插入
最后更新于