python用文件方式编写程序,以正确的方式用python编写文件

更新:

@John Coleman指出了一个误解。最后一行似乎不应该有任何新行字符。可以通过使用enumerate()来提供行计数,在打印时检查它是否是最后一行,并相应地改变行尾字符:def write_file(filename, data):

with open(filename, 'w') as f:

for line_no, item in enumerate(data, 1):

print(item, file=f, end='\n' if line_no < len(data) else '')

这不如使用\n.join(data)`优雅,但对于大列表来说,它的内存效率更高。在

替代join()的是:

^{pr2}$

原始答案:

为什么不简单地使用^{}并指定输出文件?在def write_file(filename, data):

with open(filename, 'w') as f:

for item in data:

print(item, file=f)

或者更简洁地说:def write_file(filename, data):

with open(filename, 'w') as f:

print(*data, file=f, sep='\n')

如果您有一个大的列表,则首选前者,因为后者需要解压该列表以将其内容作为参数传递给print()。在

两个选项都会自动为您处理新行字符。在

在with语句中打开文件也会为您关闭文件。在

您还可以使用'\n'.join()来连接列表中的项。同样,这对于较小的列表是可行的。此外,您的示例显示了一个整数列表-print()不要求首先将其参数转换为字符串,join()也是如此。在

你可能感兴趣的:(python用文件方式编写程序)