python文件操作

文件打开模式


r ,只读模式【默认】
w,只写模式【不可读;不存在则创建;存在则清空原来的内容再写新内容;】
a, 追加模式【不可读;不存在则创建;存在则追加写入新的内容;】
"b"表示以字节的方式操作
rb 字节方式读取
wb 字节方式写入,清空原文件内容
ab 字节方式的追加写入

注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型

文件操作


读操作
bj = open('./a.txt','r')
# 读全部content = f_obj.read()
print(content)
# 每次读一行
line1 = f_obj.readline()
print(line1)
line2 = f_obj.readline()
print(line2)
line3 = f_obj.readline()
print(line3)
# 一次读完,把每一行的内容放在列表中,成为列表中的一个
元素
line_list = f_obj.readlines()
print(line_list)

写操作
f_obj = open('a.txt', 'wb')
# 针对文本模式的写 ,需要自己写换行符
f_obj.write('杨哥\n'.encode('utf-8'))
f_obj.close()
f_obj = open('b.txt', 'wb')
# 定义 bytes 内容, 两种方式都可以
b1 = bytes('千锋\n', encoding='utf-8')
b2 = '杨哥\n'.encode('utf-8')
# 可以用 writelines() 一次性写入多行
f_obj.writelines([b1, b2])
f_obj.close()

上下文管理


with open('f1.txt','r', encoding='utf-8') as
f:
content = f.read()
print(content)

文件的修改


方式一:将硬盘存放的该文件的内容全部加载到内存,在内存中是可以修改的,修改完毕后,再由内存覆盖到硬盘(word,vim等编辑器器)
import os
with open('a.txt') as read_f,
open('.a.txt.swap','w') as write_f:

r_data=read_f.read() # 全部读入内存 ,如果文件
很大 ,会很卡
w_data=r_data.replace('千锋','千锋教育') #
在内存中完成修改
write_f.write(w_data) # 一次性写入新文件
os.remove('a.txt')
os.rename('.a.txt.swap','a.txt')

方式二:将硬盘存放的该文件的内容一行一行地读入内存,修改完毕就写入新文件,最后用新文件覆盖源文件
import os
with open('a.txt') as
read_f,open('.a.txt.swap','w') as write_f:
for line in read_f:
line=line.replace('杨哥','yangge')
write_f.write(line)
os.remove('a.txt')
os.rename('.a.txt.swap','a.txt')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值