用Python连接所有可能的文件组合
我先说一下,我对Python还很陌生。我有一个文件夹,里面有很多文件,我想看看这些文件能组合成多少种可能的方式。我找到了一段代码,可以把一组文件连接在一起,但我想要的是把所有可能的组合都连接起来,并保存为一个jpg文件。更复杂的是,我有两个特定的文件,我希望它们总是在所有组合的开头,还有一个特定的文件,我希望它总是在最后。
我把从类似问题中找到的一些代码拼凑在一起,结果显然是不够的。
files = ['File1.txt', 'Filet2.txt']
with open('CombinedFile.jpg', 'w') as result:
for file_ in files:
for line in open(file_, 'r'):
result.write(line)
补充一下:我意识到我可能没有把问题说清楚。我想要按照下面的方式组合文件的内容:
组合:
File1.txt 的内容
File2.txt 的内容
File3.txt 的内容
输出结果:
CombinationFile.jpg
然后再用不同的顺序组合这些文件,直到所有可能的组合都运行过一遍。
1 个回答
1
如果你在说组合
的时候其实是指排列
的话:
import itertools
files = ['File1.txt', 'File2.txt', 'File3.txt']
it = itertools.permutations(files, len(files))
for x in it:
print x
结果
('File1.txt', 'File2.txt', 'File3.txt')
('File1.txt', 'Filt3.txt', 'File2.txt')
('File2.txt', 'File1.txt', 'File3.txt')
('File2.txt', 'File3.txt', 'File1.txt')
('File3.txt', 'File1.txt', 'File2.txt')
('File3.txt', 'File2.txt', 'File1.txt')