合并特定文件并将其放在单个文件python中

时间:2014-02-07 15:41:04

标签: python file concatenation

我是python的新手。 我的目录中有两个文件text1.txt和text2.txt。我需要组合text1和text2中的数据,并将结果打印在result.txt。

例如:

text1.txt

a                              
b               
c

text2.txt

aa                                                                                                            bb
cc

的Result.txt

a
b
c
aa
bb
cc 

(一个在另一个之下)

现在,我知道一个脚本,通过声明全局

来组合所有文件.txt
import glob
files = glob.glob( '*.txt' )

with open( 'result.txt', 'w' ) as result:
    for file_ in files:
        for line in open( file_, 'r' ):
            result.write( line )

但我有很多以.txt结尾的文件,我想要特定的文件。

任何帮助都将受到高度赞赏。

2 个答案:

答案 0 :(得分:1)

这将避免解析换行符,因此只要每个文件都适合内存并以换行符结束,它就会更快。

from itertools import chain

files = ['text1.txt', 'text2.txt']
with outfile as open('result.txt', 'w'):
    outfile.write(chain.from_iterable(open(f).read() for f in files)

答案 1 :(得分:0)

只需创建要复制的文件列表即可。

files = ['text1.txt', 'text2.txt']

with open('result.txt', 'w') as result:
    for file_ in files:
        for line in open(file_, 'r'):
            result.write(line)