关于python:将列表写入文本文件

Writing List To Text File

本问题已经有最佳答案,请猛点这里访问。

这是我的代码的结尾:

1
2
3
4
5
6
7
8
9
10
duplicates = [files for files in file_dict.values() if len(files) > 1]

dupString = str(duplicates)

text_file.write("


Duplicates Files:

"
+ (dupString))

txt文件中的输出是:

1
[['/Users/simon/Desktop/aF/file1.py', '/Users/simon/Desktop/aF/hidden/file2.py', '/Users/simon/Desktop/aF/hidden/file3.py']]

我希望输出为:

1
2
3
/Users/simon/Desktop/aF/file1.py
/Users/simon/Desktop/aF/hidden/file2.py
/Users/simon/Desktop/aF/hidden/file3.py

我怎样才能做到这一点? 我尝试使用'.join(dupString)和' n'.join(dupString),但它只是使字符串值有空格或新行,而不是我想要的。


好的,我的理解是:

1
duplicates = [files for files in file_dict.values() if len(files) > 1]

返回文件列表的列表。 你的榜样是这样的:

1
[['/Users/simon/Desktop/aF/file1.py', '/Users/simon/Desktop/aF/hidden/file2.py', '/Users/simon/Desktop/aF/hidden/file3.py']]

在这种情况下,你需要做的是首先改变它只做一个字符串列表,你可以用itertools.chain.from_iterable做到这一点

1
2
from itertools import chain
duplicates = chain.from_iterable([files for files in file_dict.values() if len(files) > 1])

那么这只是一个写作的问题:

1
2
3
4
5
6
7
text_file.write("


Duplicates Files:

%s"
% '
'
.join(duplicates))