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

Python读取文件内容逐行打印并覆盖同一行的实现问题

终端同屏行覆盖打印实现方案

问题根因

你代码无法实现预期效果的核心原因有两个:

  1. 从文本文件逐行读取的line末尾自带换行符\n,每次写入会直接跳转到下一行,无法停在当前行做覆盖
  2. 输出内容未添加回车符\r回到当前行首,下一次写入会接在原有内容后面,不会从头覆盖

修正后代码

import sys
import time
import requests

# 替换为你实际的请求目标地址
url = "https://your-target-url.com"
wordlist = input("Enter wordlist path: ")
with open(wordlist, 'r', encoding='utf-8') as wl:
    for line in wl:
        # 移除行尾的换行符,保留其他内容
        clean_line = line.rstrip('\n')
        r = requests.get(url + '/' + clean_line)
        # \r 回到行首,ljust(50) 补空格覆盖上一行残留内容,无换行符
        sys.stdout.write(f'\rTrying: {clean_line}'.ljust(50))
        sys.stdout.flush()
        time.sleep(0.3)
# 全部执行完成后换行,避免后续终端输出拼接在当前行
sys.stdout.write('\n')

可选简化写法(Python 3.3及以上版本支持)

不需要手动调用sys.stdout相关方法,直接用print函数即可实现相同效果:

print(f'\rTrying: {clean_line}'.ljust(50), end='', flush=True)

参数说明:

  • end='' 取消print默认的末尾换行符
  • flush=True 直接输出内容,不需要等缓冲区满

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 04:24:03