如何在python中不使用,

2024-05-04 16:33:57 发布

您现在位置:Python中文网/ 问答频道 /正文

目前,我在脚本中有以下代码:

print "Loading... "
html = urllib2.urlopen(url).read()
print "Done"

很好,它显示正在加载,在下载完成时暂停,然后显示done。唯一的问题是,“完成”在下一行。在

理想情况下,它应该在同一行上,所以我将得到Loading... (pause) done

我尝试在第一个print语句的末尾添加一个逗号,但是尽管这达到了预期的输出,但是它在加载HTML之前不会输出任何字符串,因为逗号告诉python等待一个完整的print语句(至少我认为是这样)。在

那么,如何在同一行打印“Loading”和“done”,同时还能独立输出它们呢?在


Tags: 代码脚本urlreadhtml情况语句urllib2
3条回答

标准输出是行缓冲的,您必须刷新它:

sys.stdout.flush()

用户可以使用sys模块

sys.stdout.write("plop")

^{}上调用^{}似乎获得了预期的效果,^{}模拟了“load”:

#!/usr/bin/env python

from sys import stdout
from time import sleep

print "Loading... ",
stdout.flush()
sleep(5)
print "Done"

所以,当它使用,打印时,你说你不想在你的问题中这样做,它确实解决了问题。在

相关问题 更多 >