【发布时间】:2022-11-16 02:21:29
【问题描述】:
我有一个提取数据并将其写入 TXT 文件的脚本,然后在同一代码中我有一个 For 循环,它通过将引号替换为双引号并将结果与另一个新文件中的文本连接来更改格式。
with open ('myfile.txt', 'w') as f:
print(response['animals']['mammals'], file=f)
fout = open("mynewfile.txt", "wt")
f = open('myfile.txt', 'r')
for line in f:
x = str(line).replace("'", '"')
fout.write(f"mammals = {x}")
f.close()
fout.close()
结果基本上是 myfile.txt 中带有引号的所有内容,即 ['dog', 'cat'] 它在 mynewfile.txt 中被编辑并写入为哺乳动物 = ["dog", "cat"],这很酷。但我还想手动向 mynewfile.txt 添加一些其他文本,并且每次我需要更新该数据并运行脚本时,由于 For 循环,我手动输入的数据会被删除。
有没有办法只写入该行而不触及文件中的其余行?
【问题讨论】:
-
您是否考虑过以“附加”模式打开文件? ``` fout = open("mynewfile.txt", "a") ```.这将防止文件被覆盖并将新行添加到末尾。
标签: python python-3.x for-loop with-statement