写文本到文本文件 [英] Writing List To Text File
问题描述
$ pre $复制= [file_dict.values()文件的文件如果len(文件)> 1]
dupString = str(重复)
text_file.write(\\\
\\\
\\\
Duplicates Files:\\\
\\\
+(dupString ))
txt文件中的输出是:
[['/ Users / simon / Desktop / aF / file1.py','/Users/simon/Desktop/aF/hidden/file2.py','/ Users /simon/Desktop/aF/hidden/file3.py']]
我希望输出是:
/Users/simon/Desktop/aF/file1.py
/ Users / simon / Desktop / aF / hidden / file2.py
/Users/simon/Desktop/aF/hidden/file3.py
<我怎样才能做到这一点?我尝试使用''.join(dupString)和'\\\
'.join(dupString),但它只是使字符串值有空格或新的行,其中不是我想要的。
重复项目
= [file_dict.values()中文件的文件(如果len(文件))> 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
from itertools import chain
duplicates = chain.from_iterable([file_dict.values()中的文件的文件,如果len(files)> 1] )
然后它只是一个写作的问题:
text_file.write(\\\
\\\
\\\
Duplicates Files:\\\
\\\
%s%'\\\
'.join(duplicates))
This is the end of my code:
duplicates = [files for files in file_dict.values() if len(files) > 1]
dupString = str(duplicates)
text_file.write("\n\n\nDuplicates Files: \n\n" + (dupString))
The output in the txt file is:
[['/Users/simon/Desktop/aF/file1.py', '/Users/simon/Desktop/aF/hidden/file2.py', '/Users/simon/Desktop/aF/hidden/file3.py']]
I want the output to be:
/Users/simon/Desktop/aF/file1.py
/Users/simon/Desktop/aF/hidden/file2.py
/Users/simon/Desktop/aF/hidden/file3.py
How can I make this happen? I tried using ' '.join(dupString) and '\n'.join(dupString) but it just made the string values have spaces or new lines in which wasn't what I wanted.
Okay, it is my understanding that:
duplicates = [files for files in file_dict.values() if len(files) > 1]
Returns a list of lists of files. Your example being this:
[['/Users/simon/Desktop/aF/file1.py', '/Users/simon/Desktop/aF/hidden/file2.py', '/Users/simon/Desktop/aF/hidden/file3.py']]
In which case, what you need to do is first change that to make only a list of strings, you can do that with itertools.chain.from_iterable
from itertools import chain
duplicates = chain.from_iterable([files for files in file_dict.values() if len(files) > 1])
Then it is just a matter of writing:
text_file.write("\n\n\nDuplicates Files: \n\n%s" % '\n'.join(duplicates))
这篇关于写文本到文本文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!