1.readline() (一次性只读取一行)
with open(r'g.txt',mode='rt',encoding='utf-8') as f:
res1=f.readline()# 第一行的代码
res2=f.readline()# 第二行的代码
print(res1)
2.readlines()(一次性读取多行)
with open(r'g.txt',mode='rt',encoding='utf-8') as f:
res=f.readlines()
print(res)
ps:f.read()与f.readlines()都是将内容一次性读入内存,如果内容过大会导致内存溢出。
二、写入相关操作
-
f.writelines() (一次写入多行)
with open('h.txt',mode='wt',encoding='utf-8') as f:
l=['11111 ','2222','3333']
f.writelines(l)
ps:需要手动换行
2.b模式写入
with open('h.txt', mode='wb') as f:
l = [
'1111aaa1
'.encode('utf-8'),
'222bb2'.encode('utf-8'),
'33eee33'.encode('utf-8')
]
# b模式写入需要指定编码
3.
'上'.encode('utf-8') 等同于bytes('上',encoding='utf-8')
with open('h.txt', mode='wb') as f:
l = [
bytes('上啊',encoding='utf-8'),
bytes('冲呀',encoding='utf-8'),
bytes('小垃圾们',encoding='utf-8'),
]
f.writelines(l)
4.如果是纯英文字符,可以直接加前缀b得到bytes类型
l = [
b'1111aaa1 ',
b'222bb2',
b'33eee33'
]
5.flush: (刷新——立即执行该操作)
with open('h.txt', mode='wt',encoding='utf-8') as f:
f.write('哈')
f.flush()
了解部分
with open('h.txt', mode='wt',encoding='utf-8') as f:
print(f.readable())
print(f.writable())
print(f.encoding)
print(f.name)
print(f.closed)