合并txt文件匹配条件

时间:2016-01-16 01:05:03

标签: python list file text merge

我的应用程序中的Python中有一个txt格式的文件列表,如下所示:

['Pr00-1.txt', '900-2.txt', 'Pr00-2.txt', '900-1.txt', 'Pr900-3.txt', '00-3.txt']

我尝试将所有00个文件['Pr00-1.txt', 'Pr00-2.txt', '00-3.txt']合并到一个00.txt文件中。

与900个文件相同,无论Pr还是-*.txt如何,*都是数字。 我尝试使用拆分,但它没有帮助。

知道该怎么做吗?

1 个答案:

答案 0 :(得分:0)

我认为这基本上就是你想要的。使用正则表达式查找00文件,然后打开00.txt并将所有这些文件写入其中。请注意,此解决方案不适用于任何xx模式,如果其中一个文件不存在,也会失败。我会把剩下的留给你。

import re

with open('00.txt.', 'w') as outfile:
    filenames = ['Pr00-1.txt', '900-2.txt', 'Pr00-2.txt', '900-1.txt', 
        'Pr900-3.txt', '00-3.txt']
    for filename in filenames:
        match = re.search(r'(^|[^0-9])00.*.txt', filename)
        if (match):
            with open(filename) as infile:
                outfile.write(infile.read())