写文本到文本文件 [英] Writing List To Text File

查看:135
本文介绍了写文本到文本文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的代码的结束:

$ 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆