gpt4 book ai didi

python - 在 for 循环中写入文件仅写入最后一个值

转载 作者:IT老高 更新时间:2023-10-28 20:57:16 31 4
gpt4 key购买 nike

text_file = open("new.txt", "r")
lines = text_file.readlines()

for line in lines:
var1, var2 = line.split(",");
myfile = open('xyz.txt', 'w')
myfile.writelines(var1)
myfile.close()

text_file.close()

我在 new.txt 中有 10 行文本,例如 Adam:8154George:5234 等等。现在我想要一个只包含名称的文本文件。 xyz.txt 必须包含 AdamGeorge 等。上面的代码只给我留下了第 10 个名字。

如何在一个文本文件中包含所有 10 个名称?

最佳答案

那是因为您在 for 循环中打开、写入和关闭文件 10 次。以 w 模式打开文件会删除文件中之前的所有内容,因此每次打开文件时,之前迭代中写入的内容都会被删除。

myfile = open('xyz.txt', 'w')
myfile.writelines(var1)
myfile.close()

您应该在 for 循环之外打开和关闭文件。

myfile = open('xyz.txt', 'w')
for line in lines:
var1, var2 = line.split(",");
myfile.write("%s\n" % var1)

myfile.close()
text_file.close()

您还应该注意使用 writenot writelines

writelines 将行列表写入您的文件。

您还应该查看这里使用 with 语句的人们发布的答案。这是在 Python 中进行文件读/写操作的优雅方式

关于python - 在 for 循环中写入文件仅写入最后一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11198718/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com