Python 将多个文件合并到一个新文件中

Python 将多个文件合并到一个新文件中,python,Python,我有两个文本文件,像['file1.txt','file2.txt']。我想编写一个Python脚本,将这些文件连接到一个新文件中,使用open()等基本函数打开每个文件,通过调用f.readline()逐行读取,并使用f.write()将每一行写入该新文件。我不熟悉python中的文件处理编程。有人能帮我吗?回答是: 平面线解 根据评论,您需要的是一个只有两行的文件。在第一行,第一个文件的内容(不带换行符),在第二行,第二个文件的内容。因此,如果您的文件很小(每个文件小于~1MB,之后可能会占

我有两个文本文件,像['file1.txt','file2.txt']。我想编写一个Python脚本,将这些文件连接到一个新文件中,使用open()等基本函数打开每个文件,通过调用f.readline()逐行读取,并使用f.write()将每一行写入该新文件。我不熟悉python中的文件处理编程。有人能帮我吗?

回答是:

平面线解 根据评论,您需要的是一个只有两行的文件。在第一行,第一个文件的内容(不带换行符),在第二行,第二个文件的内容。因此,如果您的文件很小(每个文件小于~1MB,之后可能会占用大量内存…)

如果您对Python不太在行,那么UNIX
cat
命令就是这样做的:连接多个文件的内容


如果要在两个文件之间换行,请将第二行更改为最后一行,使其具有
f1\u内容+“\n”+f2\u内容
。(
\n
表示新行)。

要显示一些代码吗?我们将很乐意帮助您编写代码:)此方法适用于小文件,但对于较大的文件,它将消耗大量内存。。。小心。我也会使用
语句,而不是旧式的方法打开然后关闭…谢谢,但是否可以同时读取两个文件,然后将内容以单独的行写入新文件,如line1将包含file1的内容,然后在下一行中,它将包含Line2的内容将包含file2的内容。谢谢。这是可行的,但我如何将它们放在不同的行中,例如文件1的第1行内容,然后放在第2行的下一行内容等等。@Pramod您想交替行还是将每个文件的内容放在一行上,以便只在两行上输出?文件1和文件2都有一行文本。因此,在新合并的文件中,第1行应该是file1,然后是下一行file2。
filenames = ['file1.txt', 'file2.txt', ...]
with open('result.txt', 'w') as outfile:
    for fname in filenames:
        with open(fname) as infile:
            for line in infile:
                outfile.write(line)
filenames = ['file1.txt', 'file2.txt', ...]
with open('result.txt', 'w') as outfile:
    for fname in filenames:
        with open(fname) as infile:
            content = infile.read().replace('\n', '')
            outfile.write(content)
f1 = open("file1.txt")
f1_contents = f1.read()
f1.close()

f2 = open("file2.txt")
f2_contents = f2.read()
f2.close()

f3 = open("concatenated.txt", "w") # open in `w` mode to write
f3.write(f1_contents + f2_contents) # concatenate the contents
f3.close()