我试图打开一个文本文件并写入该文件但是在这样做时它根本不工作。
以下是我所拥有的:
changeaddress = [changeaddr1, changeaddr2]
address = [address_1, address_2]
new_var = []
cur_addr = 0
with open('address.txt','r+') as file:
for line in file:
if address[cur_addr] in line:
line.replace(address[cur_addr], changeaddress[cur_addr])
cur_addr += 1
new_var.append(line)
with open('address.txt','w') as file:
file.writelines(new_var)
我做错了什么?它不工作。 谢谢!
答案 0 :(得分:1)
字符串是不可变的。 line.replace
返回一个新字符串,而不是直接替换它。
new_line = line.replace
...
new_var.append(new_line)
注意:将整个列表存储在内存中对大文件不利。您可以在一个with
命令中打开两个文件以从一个文件中读取,并写入另一个文件