- 文件操作模式
- 读取文件
- 1.read()
- 2.readline()
- 3.readlines()
- 4. seek和tell光标
- 5.flush刷新
- 6.with语句
- 7.二进制读取“rb”
- 8.二进制写“wb”
文件操作模式
读取文件
文件内容
床前明月光,疑是地上霜
举头望明月,低头思故乡
1.read()
读取文件所有内容
f = open('libai',encoding = 'utf-8')
print(f.read())
床前明月光,疑是地上霜
举头望明月,低头思故乡
2.readline()
只读取一行内容
f = open('libai',encoding = 'utf-8')
print(f.readline())
床前明月光,疑是地上霜
3.readlines()
把文章内容以换行符分割,并生成list格式(数据量大的时候不建议用)
f = open('libai',encoding = 'utf-8')
print(f.readlines())
['床前明月光,疑是地上霜\n', '举头望明月,低头思故乡']
4. seek和tell光标
f = open('libai',encoding='utf-8')
data = f.read() #默认光标在起始的位置,read()读取完后,光标停留到文件末尾
data2 = f.read() #data2读取的内容为空
print(data)
print(data2)
f.close() #关闭文件
文件
abcdefg
hyjklmn
opqrstu
vwxyz
f = open('libai',encoding='utf-8')
#tell获取当前的光标
print(f.tell()) #0
print(f.readline().strip())
print(f.readline().strip())
print(f.tell())
f.seek(0) #移动光标到文件起始的地方
print(f.readline().strip())
结果:
0
abcdefg
hyjklmn
18
abcdefg
5.flush刷新
模拟进度条
import sys,time
for i in range(40):
sys.stdout.write('#')
sys.stdout.flush() #flush强制舒心缓存到内存的数据写入硬盘
time.sleep(0.1)
6.with语句
with代码块执行完后,文件会自动关闭
with open('libai') as f:
print(f.read())
7.二进制读取“rb”
#rb 二进制模式读取
f = open('libai','rb') #主要用于网络传输
print(f.readline())
b'\xe5\xba\x8a\xe5\x89\x8d\xe6\x98\x8e\xe6\x9c\x88\xe5\x85\x89\xef\xbc\x8c\xe7\x96\x91\xe6\x98\xaf\xe5\x9c\xb0\xe4\xb8\x8a\xe9\x9c\x9c\r\n'
8.二进制写“wb”
f = open('libai','wb')
f.write('中文'.encode())
编码转换
本文由 权鸣 创作,采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。
1
1
1
1
1
1
1
1
1
1
1
1
555
1
1
1
1
1
1
1
1
1
1
1
1
555
陈惶覆:文章真不错http://www.pipady.com/series/183269.html
想想你的文章写的特别好
想想你的文章写的特别好https://www.jiwenlaw.com/
叼茂SEO.bfbikes.com
不错不错,我喜欢看 https://www.237fa.com/
看的我热血沸腾啊https://www.ea55.com/
看的我热血沸腾啊https://www.ea55.com/
文章的确不错啊https://www.cscnn.com/
《传奇世界手游复古区升级攻略》-超详细指南:https://501h.com/fugu/3268.html