Max*_*xxx 2 python file-io file
我有一个函数将列表的内容写入文本文件.对于列表中的每个元素,它将元素写入文本文件,每个元素都有自己的新行.
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()
Run Code Online (Sandbox Code Playgroud)
我倾向于注意到一个错误,在文本文件的最后一行生成一个空的换行符,我想知道我是否正确地写了文件?
假设我的列表包含[1,2,3,4]并将其写入文本文件会给我
1
2
3
4
#in some cases, an empty newline is printed here at the end
Run Code Online (Sandbox Code Playgroud)
我不知道如何检查写入函数是否由于'\n'而在最后产生额外的行,所以如果有人能给我一些反馈,我将不胜感激.
而不是多次写入缓冲区,执行a .join,并将结果写入一次:
with open(filename, 'w') as fp:
fp.write('\n'.join(your_list))
Run Code Online (Sandbox Code Playgroud)