You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python的for循环逐行交替打印两个TXT文件

解决两个文件逐行交替打印的问题

问题原因

你写的嵌套循环逻辑错误:外层遍历第一个文件的每一行时,内层会把第二个文件的所有行完整遍历一遍,导致先输出第一个文件的全部内容,最后才处理第二个文件的最后一行,完全不符合交替打印的需求。另外代码里还有小问题:sleep(1)应该写成time.sleep(1),且文件打开后没有正确关闭。

解决方案

情况1:两个文件行数相同

用zip函数同时迭代两个文件的行,每次各取一行交替打印,同时用with语句自动管理文件(避免手动关闭的麻烦):

import time

with open("q1", "r") as f1, open("q2", "r") as f2:
    for line1, line2 in zip(f1, f2):
        print(line1, end='')  # end=''避免重复换行
        time.sleep(1)
        print(line2, end='')
        time.sleep(1)

情况2:两个文件行数不同

如果两个文件行数不一致,用itertools.zip_longest可以处理剩余的行(行数多的文件剩下的行会继续打印):

import time
from itertools import zip_longest

with open("q1", "r") as f1, open("q2", "r") as f2:
    # fillvalue=''表示缺失的行用空字符串填充
    for line1, line2 in zip_longest(f1, f2, fillvalue=''):
        if line1:
            print(line1, end='')
            time.sleep(1)
        if line2:
            print(line2, end='')
            time.sleep(1)

效果说明

运行修正后的代码,会先打印q1的第一行,等待1秒后打印q2的第一行,再等待1秒打印q1的第二行,以此类推,完全符合你想要的交替输出效果。

内容的提问来源于stack exchange,提问作者Shyamanta Boruah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 13:41:42