[英]How can I open a series of files (PNGs) from a specified directory (randomly) using Python?
[英]How I can simulateneously sort and unique files from directory using python?
我正在尝试在一个文件中对30个大小不同的文件进行排序和唯一化。
每个文件包含一行,并由换行符分隔。 这意味着文件的每一行都有简单的文本。
这是我尝试尝试的方法:
lines_seen = set() # holds lines already seen
outfile = open('out.txt', "w")
for line in open('d:\\testing\\*', "r"):
if line not in lines_seen: # not a duplicate
outfile.write(line)
lines_seen.add(line)
outfile.close()
文件夹名称正在testing
,它包含30个不同的文件,我正在尝试将其合并到文件out.txt
。 输出将是排序并唯一的文本,写在输出文件的每一行上。
好吧,我认为这很容易,如果我写d:\\\\testing\\\\*
,它将从该文件夹中读取文件。 但是我得到了错误:
Traceback (most recent call last):
File "sort and unique.py", line 3, in <module>
for line in open('d:\\testing\\*', "r"):
OSError: [Errno 22] Invalid argument: 'd:\\testing\\*'
我想知道如何摆脱这个错误,并有效地将所有文件处理成一个输出而不会失败。
请注意:RAM为8 GB,文件夹大小约为10 GB。
您只需要使用os.listdir
遍历所有文件。 像这样:
lines_seen = set() # holds lines already seen
outfile = open('out.txt', "w")
path = r'd:\testing'
for file in os.listdir(path): #added this line
current_file = os.path.join(path, file)
for line in open(current_file, "r"):
if line not in lines_seen: # not a duplicate
outfile.write(line)
lines_seen.add(line)
outfile.close()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.