[英]-python - concatenate text file and store it into variable
有没有一种方法可以串联两个文本文件,而不必将结果写入另一个文件,而只是将其存储在变量中? 我正在寻找的是像
my_fun(cat(file1,file2))
my_fun
将读取串联猫的结果,并将其用作真实文本文件。
换句话说,我想做
with open(my_fileOut,'w') as outfile:
for file in [file_1,file_2]:
with open(file,'r') as infile:
for line in infile:
outfile.write(line)
并用变量替换my_fileOut
,因此不进行outfile.write(line)
而是将结果存储在内存中
预先感谢您的帮助或建议,
问候
PS:对不起,如果我的英语不是很好
您可以使用itertools.chain()
:
from itertools import chain
def my_fun(f):
for line in f:
print(line.rstrip())
with open('file1') as file1, open('file2') as file2:
my_fun(chain(file1, file2))
之所以可行,是因为文件对象是可迭代的,而chain()
有效地串联了一个或多个可迭代对象。
看来您只想最后写一个文件。 那为什么不呢?
def cat(f1, f2):
with open(f1, 'r') as f:
f1txt = f.read()
with open(f2, 'r') as f:
f2txt = f.read()
return f1txt + f2txt
def my_fun(f3, text):
with open(f3, 'w') as f:
f.write(text)
out = '/path/to/some/file'
file1 = '/path/to/file1'
file2 = '/path/to/file2'
my_fun(cat(file1, file2))
这将读取file1
内的所有数据,然后读取file2
,然后将file2
中的所有数据添加到file1
数据的末尾 。 如果您打算连接其他方式,请指定。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.