繁体   English   中英

如何在Python中将列表输出写入文本文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM