如何在python中在同一行上打印而不使用,

Ale*_*lan 0 python string

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

print "Loading... "
html = urllib2.urlopen(url).read()
print "Done"
Run Code Online (Sandbox Code Playgroud)

这很好用,它显示加载,在下载完成时暂停,然后显示完成.唯一的问题是,"完成"是在下一行.

理想情况下,它会在同一条线上,所以我会得到 Loading... (pause) done

我尝试在第一个print语句的末尾添加一个逗号,但是虽然它实现了所需的输出,但在加载HTML之前它不输出任何字符串,因为逗号告诉python等到完成print语句(至少我认为确实如此).

那么如何在同一行上打印"正在加载"和"完成",同时仍然能够独立输出它们?

Kar*_*ath 6

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

sys.stdout.flush()
Run Code Online (Sandbox Code Playgroud)