小编ggu*_*son的帖子

在函数下没有换行的打印在Python中不起作用

我正在为我的上传脚本做一个进度条,因此我想打印一行多个'#',但我无法让它工作.当我告诉Python不添加换行符时,它会删除它,但它在函数下无法正常工作.在Python 3中使用"print('#',end ='')"或在Python 2中使用"print'#'",删除它但在函数下执行时它不会打印任何内容,直到整个函数完成,它不应该像普通打印一样等待.

import time

i = 0

def status():
    print('#', end='')

while i < 60:
    status()
    time.sleep(1)
    i += 1
Run Code Online (Sandbox Code Playgroud)

这应该每秒打印'#',但事实并非如此.它会在60秒后打印出来.使用just print('#')按预期每秒打印出来.我真的需要一个解决方案.请帮忙!

解决方案:每次打印后"sys.stdout.flush()":)

python python-3.x

8
推荐指数
2
解决办法
3365
查看次数

标签 统计

python ×1

python-3.x ×1