[英]How to write list output to a text file in Python
我运行此代码但它只在文本文件中写入/ home中的第一个目录
for item in os.listdir('/home'):
text_file_1 = open('/tmp/home_dir.txt', 'wb')
text_file_1.write('%s\n' % item)
text_file_1.close()
您应该在循环外打开文件。 否则,每次打开它都会“重新开始”
上下文管理器( with
语句)是打开文件的首选方式
with open('/tmp/home_dir.txt', 'w') as text_file_1:
for item in os.listdir('/home'):
text_file_1.write('%s\n' % item)
我想你会发现它是os.listdir()的最后一项。
尝试这个:
text_file_1 = open('/tmp/home_dir.txt', 'w')
for item in os.listdir('/home'):
text_file_1.write('%s\n' % item)
text_file_1.close()
或这个:
for item in os.listdir('/home'):
text_file_1 = open('/tmp/home_dir.txt', 'a')
text_file_1.write('%s\n' % item)
text_file_1.close()
当您打开新文件句柄并使用'w'写入文件时,它会完全覆盖最初的文件。
'a'允许您附加到文件。
我会推荐我的第一个解决方案; 打开和关闭文件的成本很高。 如果您要快速遍历项目以写入文件,您可以将其保持打开状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.