我有一个将列表内容写入文本文件的函数。对于列表中的每个元素,它将元素写入文本文件,每个元素都有自己的新行。
def write_file(filename):
name_file = filename
filename = open(name_file, 'w')
for line in list:
if line == len(list)-1:
filename.write(line)
else:
filename.write(line+'\n')
filename.close()
我倾向于注意到一个错误,即在文本文件的最后一行生成一个空的换行符,我想知道我是否正确地编写了文件?
假设我的列表包含 [1,2,3,4] 并将其写入文本文件会给我
1
2
3
4
#in some cases, an empty newline is printed here at the end
由于 '\n',我不知道如何检查写入函数是否在最后生成了额外的一行,所以如果有人能给我一些反馈,我将不胜感激。
最佳答案
与其多次写入缓冲区,不如执行一个.join
,然后将结果写入一次:
with open(filename, 'w') as fp:
fp.write('\n'.join(your_list))
关于python - 用python写文件的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46320664/