我有' n' " .TXT"文件夹中的文件,我想同时打开它们并在循环中读取每个文件的每一行,然后每隔一行......
我的文件写得像这样:
0
1
0
1
1
0
0
0
我已经
了file = fileinput.input(files=("text_{}.txt".format(i)))
for line in file:
for ch in line:
print file.readline()
由于
答案 0 :(得分:1)
您可以一次打开多个文件,并轻松地将它们存储在一个数组中以迭代并执行“readline”。重要的是要记住关闭你打开的所有文件,因为习惯依赖“with”语句为你关闭它们(这对于这个特定的场景是不实际的)。示例代码:
filenames = ["File1.txt", "File2.txt"]
file_objs = []
for name in filenames:
file_objs.append(open(name, "r"))
while file_objs:
for file in file_objs:
line = file.readline()
if not line:
file_objs.pop(file_objs.index(file)).close()
else:
...
答案 1 :(得分:1)
如果您不想阅读内存中每个文件的内容,
FILES = ['1.txt', '2.txt', '3.txt']
if __name__ == '__main__':
file_handles = {filename: open(filename, 'r') for filename in FILES}
while file_handles:
for filename, file in file_handles.items():
line = next(file, None)
if line is not None:
line = line.rstrip('\n')
print(line)
else:
file.close()
file_handles.pop(filename)