text_file = open(\'new.txt\', \'r\')lines = text_file.readlines()for line in lines: var1, var2 = line.split(\',\'); myfile = open('xyz.txt', 'w') ...
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:8154
, George:5234
,等等。现在我想要一个仅包含名称的文本文件。 xyz.txt
必须包含 Adam
, George
,等等。上面的代码只给我留下了第 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()
您还应该注意 使用 write 而 不是 writelines .
writelines
将行列表写入您的文件。
另外,您还应该查看这里使用 with
语句的人们发布的答案。这是在 Python 中执行文件读/写操作的优雅方法