2016-01-16 70 views
-1

我有一个Python文件的txt格式列表中我的应用程序是这样的:合并txt文件配衬条件

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

我试图合并在一个00.txt文件中的所有文件00['Pr00-1.txt', 'Pr00-2.txt', '00-3.txt']

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

任何想法如何做到这一点?

+0

欢迎来到StackOverflow。请阅读并遵守帮助文档中的发布准则。 [最小,完整,可验证的示例](http://stackoverflow.com/help/mcve)适用于此处。在您发布代码并准确描述问题之前,我们无法有效帮助您。 StackOverflow不是一个编码或教程服务。 – Prune

+0

请[edit]发布您已经在您的问题中尝试过的内容,以及您的意思是什么* merge *?只需将所有'00'文件添加到'00.txt'中? –

+0

Stackoverflow *不是*咨询网站。尝试一下,回到你遇到的问题,如果有的话。 – arainone

回答

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())