赞
踩
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(文件名, 模式) as 文件对象:
文件对象.方法()
示例,读取 1.txt 文件的内容(效果同上传统方法)
with open('1.txt', 'r', encoding='UTF-8') as file:
print(file.read())
大类 | 模式 | 描述 | 说明 |
---|---|---|---|
读 read | r | 只读(默认) | 文件必须存在,否则报错 |
r+ | 读写 | ||
rb | 只读(二进制) | ||
写 write | w | 只写 | 若文件已存在,则覆盖 若文件不存在,则创建 |
w+ | 读写 | ||
wb | 只写(二进制) | ||
追加 append | a | 追加写 | |
a+ | 追加读写 |
操作 | 方法 | 描述 | 注意 |
---|---|---|---|
读 | read() | 每次读取整个文件 | 若文件过大,可限制读取的字节数,read(n) |
readline() | 每次读取一行 | ||
readlines() | 每次读取字符串列表 | 由单行汇总形成的多行(整个文件) | |
readable() | 判断文件是否可读 | 返回 bool 类型 | |
写 | write() | 写入字符串 | 数据量大时,效率较低(先拼接成一个完整的字符串再写入文件) |
writelines() | 写入字符串列表 | 数据量大时,效率较高(一次性写入多个字符串) | |
writable() | 判断文件是否可写 | 返回 bool 类型 | |
指针 | tell() | 获取当前指针位置 | 文件读写前,指针在开头;读写完成后,指针在结尾 |
seek() | 设置指针位置 | 0:文件头,1:当前,2:文件尾 |
属性 | 描述 |
---|---|
name | 文件名 |
encoding | 字符编码,如:UTF-8,GBK |
mode | 模式 |
with open('1.txt', 'w', encoding='UTF-8') as f:
print(f.name)
print(f.encoding)
print(f.mode)
with open('1.txt', 'w', encoding='UTF-8') as file1, \
open('2.txt', 'w', encoding='UTF-8') as file2:
file1.write('我是第一个文件')
file2.write('我是第二个文件')
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。