用Python连接所有可能的文件组合

-1 投票
1 回答
1316 浏览
提问于 2025-04-18 11:14

我先说一下,我对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')

撰写回答