错误代码
with open(r'xxx', 'w+', encoding='utf-8') as f:
print(f.readlines())
本来是想读取并修改一个文件,想一边读取一边写入,发现读取出来是空。
原因:'w+'表示覆盖写入,这时f表示的是新建的那个文件,还没有写入任何内容,自然是空,这时不论是f.readlines()还是f.readline()都是空。
正确代码
with open(r'xxx', 'r', encoding='utf-8') as f:
print(f.readlines())
想要修改目标文件中的部分内容
with open(r'xxx', 'r', encoding='utf-8') as f:
lines = f.readlines()
for i, line in enumerate(lines):
lines[i] = line.replace('要修改的局部内容','修改后的局部内容')
with open(r'xxx', 'w+', encoding='utf-8') as w:
w.writelines(lines)