Skip to main content
 首页 » 编程设计

python之一次从多个文件中读取 1 行

2025年05月04日74jiqing9006

我有一堆文件名。我需要一次从每个文件中读取一行,进行一些处理,然后再次从每个文件中读取一行,进行一些处理等等。

我正在寻找有关如何以更 Pythonic 的方式执行此操作的建议。我知道每个文件中存在的行数,所以我现在对其进行硬编码,但我不想这样做。

更新: 这些文件都具有相同的行数。

更新 2: 至少有 30 个不同的文件。

filenames = [] 
line_count = 400 
fileobjs = [open(i, 'r') for i in filenames] 
for i in xrange(line_count): 
    lines = [] 
    for each_fo in fileobjs: 
        for each_line in each_fo: 
            lines.append(each_line) 
            break 
    process(lines) 

请您参考如下方法:

这个呢?

from itertools import izip_longest 
for file_lines in izip_longest(*map(open,filenames)): 
    for line in file_lines: 
        if line: 
            # process line