这个问题与Python 连接文本文件 https://stackoverflow.com/questions/13613336/python-concatenate-text-files
我有一个清单file_names
, like ['file1.txt', 'file2.txt', ...].
我想将所有文件打开到一个文件对象中,我可以逐行读取该文件对象,但我不想在此过程中创建新文件。那可能吗?
with open(file_names, 'r') as file_obj:
line = file_obj.readline()
while line:
...
Use input https://docs.python.org/3/library/fileinput.html#fileinput.input from 文件输入 https://docs.python.org/3/library/fileinput.html模块。它从多个文件中读取,但使字符串看起来像是来自单个文件。 (懒惰线迭代)。
import fileinput
files= ['F:/files/a.txt','F:/files/c.txt','F:/files/c.txt']
allfiles = fileinput.input(files)
for line in allfiles: # this will iterate over lines in all the files
print(line)
# or read lines like this: allfiles.readline()
如果您需要将所有文本集中在一处,请使用StringIO
import io
files= ['F:/files/a.txt','F:/files/c.txt','F:/files/c.txt']
lines = io.StringIO() #file like object to store all lines
for file_dir in files:
with open(file_dir, 'r') as file:
lines.write(file.read())
lines.write('\n')
lines.seek(0) # now you can treat this like a file like object
print(lines.read())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)