如何将多个文本文件合并为一个文件?
How to combine several text files into one file?
我想将几个文本文件合并成一个输出文件。
我的原始代码是下载 100 个文本文件,然后每次我从几个单词中过滤文本并将其写入输出文件。
这是我的代码的一部分,假设将新文本与输出文本结合起来。结果每次都覆盖输出文件,删除以前的内容并添加新的文本。
import fileinput
import glob
urls = ['f1.txt', 'f2.txt','f3.txt']
N =0;
print "read files"
for url in urls:
read_files = glob.glob(urls[N])
with open("result.txt", "wb") as outfile:
for f in read_files:
with open(f, "rb") as infile:
outfile.write(infile.read())
N+=1
我也试过了
import fileinput
import glob
urls = ['f1.txt', 'f2.txt','f3.txt']
N =0;
print "read files"
for url in urls:
file_list = glob.glob(urls[N])
with open('result-1.txt', 'w') as file:
input_lines = fileinput.input(file_list)
file.writelines(input_lines)
N+=1
有什么建议吗?
我需要将大约 100 个文本文件按顺序 concatenate/combine 合并到一个 .txt 文件中。 (我每次读取一个文件并将其添加到result.txt)
问题是您在每次循环迭代中重新打开输出文件,这将导致它被覆盖——除非您明确地以追加模式打开它。
当您已经知道文件名时,也不需要 glob 逻辑。
试试这个:
with open("result.txt", "wb") as outfile:
for url in urls:
with open(url, "rb") as infile:
outfile.write(infile.read())
我想将几个文本文件合并成一个输出文件。 我的原始代码是下载 100 个文本文件,然后每次我从几个单词中过滤文本并将其写入输出文件。
这是我的代码的一部分,假设将新文本与输出文本结合起来。结果每次都覆盖输出文件,删除以前的内容并添加新的文本。
import fileinput
import glob
urls = ['f1.txt', 'f2.txt','f3.txt']
N =0;
print "read files"
for url in urls:
read_files = glob.glob(urls[N])
with open("result.txt", "wb") as outfile:
for f in read_files:
with open(f, "rb") as infile:
outfile.write(infile.read())
N+=1
我也试过了
import fileinput
import glob
urls = ['f1.txt', 'f2.txt','f3.txt']
N =0;
print "read files"
for url in urls:
file_list = glob.glob(urls[N])
with open('result-1.txt', 'w') as file:
input_lines = fileinput.input(file_list)
file.writelines(input_lines)
N+=1
有什么建议吗? 我需要将大约 100 个文本文件按顺序 concatenate/combine 合并到一个 .txt 文件中。 (我每次读取一个文件并将其添加到result.txt)
问题是您在每次循环迭代中重新打开输出文件,这将导致它被覆盖——除非您明确地以追加模式打开它。
当您已经知道文件名时,也不需要 glob 逻辑。
试试这个:
with open("result.txt", "wb") as outfile:
for url in urls:
with open(url, "rb") as infile:
outfile.write(infile.read())