1. 传统文件读写,容易犯的问题
(1) 忘记 '关闭文件'
(2) 文件读写 '异常' 时,未做处理
2. with as 读写文件
(1) 自动处理上述问题
(2) 语句简洁
读文件:(模式:r,方法:read())
file = open('1.txt', 'r', encoding='UTF-8')
try:
file_content = file.read()
print(file_content)
finally:
file.close()
写文件:(模式:w,方法:write())
file = open('1.txt', 'w', encoding='UTF-8')
try:
file_bytes = file.write('1213\n哈哈哈')
print(file_bytes)
finally:
file.close()
效果同上
with open('1.txt', 'r', encoding='UTF-8') as file:
print(file.read())
模式大类 | 读写模式 | 描述信息 | 特别说明 |
---|---|---|---|
读 read | r | 只读(默认) | 文件必须存在 |
r+ | 读写 | ||
rb | 只读(二进制) | ||
写 write | w | 只写 | 若文件已存在,则覆盖 若文件不存在,则创建 |
w+ | 读写 | ||
wb | 只写(二进制) | ||
追加 append | a | 追加写 | 若文件已存在,则覆盖 若文件不存在,则创建 |
a+ | 追加读写 |
方法 | 描述 |
---|---|
readline() | 读取一行 |
readline(2) | 读取前 2 个字符 |
read() | 读完文件后,指针在最尾处 |
write() | 完文件后,指针在最尾处 |
tell() | 当前指针位置 |
seek(0) | 设置指针位置,0:文件头,1:当前,2:文件尾 |
flush() | 刷新 |
truncate() | 清空 |
truncate(10) | 从头开始,第 10 个字符后清空 |
close() | 关闭文件 |
encoding | 字符编码 |
name | 文件名 |