📅  最后修改于: 2023-12-03 14:46:28.055000             🧑  作者: Mango
在处理大量数据时,可能需要将多个文件中的数据合并到一个主文件中。使用Python可以轻松实现这一目标,下面介绍几种实现方式。
读取每个文件的每一行,然后将其写入主文件。
with open('main_file.txt', 'a') as main_file:
for file_name in ['file1.txt', 'file2.txt', 'file3.txt']:
with open(file_name) as file:
for line in file:
main_file.write(line)
以上代码中,'main_file.txt'
是主文件名,['file1.txt', 'file2.txt', 'file3.txt']
是要写入主文件的文件名列表。这里使用了'a'
模式打开主文件,表示以追加模式打开文件,在文件末尾写入新的内容。
将所有文件的内容先读取到内存中,然后再写入主文件中。
data = []
for file_name in ['file1.txt', 'file2.txt', 'file3.txt']:
with open(file_name) as file:
data.extend(file.readlines())
with open('main_file.txt', 'w') as main_file:
main_file.writelines(data)
以上代码中,data
是保存所有文件内容的列表。使用extend()
方法将每个文件的内容合并到data
列表中。然后使用'w'
模式打开主文件,表示以覆盖模式打开文件,在文件中写入新的内容。
在Linux系统下,可以使用cat
命令将多个文件合并成一个文件。Python可以通过调用系统命令的方式实现这一功能。
import subprocess
file_names = ['file1.txt', 'file2.txt', 'file3.txt']
subprocess.run(['cat'] + file_names, stdout=open('main_file.txt', 'w'))
以上代码中,file_names
是要合并的文件名列表。使用subprocess.run()
方法调用系统命令,执行cat
命令,并将输出重定向到主文件中。
以上是三种将多个文件数据写入主文件的方法,根据实际情况选择最适合的方式。