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

为何在循环中使用Python print()的end参数时会被打印两次?

问题原因与解决办法

你遇到的现象是因为读取的每行内容自带换行符\n。用for line in file遍历文件时,每一行的字符串末尾都包含原始文件里的换行符,执行print(line, end='1')时,会先输出整行内容(包括换行符),换行后再输出end参数的1,所以看起来下一行开头多了个1。

解决方式:读取行时先移除末尾的换行符,再指定end参数:

for line in file:
    # 只移除末尾的换行符,保留行首的空格/制表符
    print(line.rstrip('\n'), end='1\n')

如果不需要保留行首的空白字符,也可以用strip()简化:

for line in file:
    print(line.strip(), end='1\n')

要是想让1直接跟在每行内容后不换行,也可以直接拼接字符串打印:

for line in file:
    print(line.rstrip('\n') + '1')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 16:40:41