完整代码:
import sys
import time
counter = 0
while True:
sys.stdout.write(str(counter))
time.sleep(1)
sys.stdout.truncate()
counter += 1
重要的事情
sys.stdout.truncate()
问题
为什么sys.stdout.truncate()
返回错误?如果sys.stdout
不起作用,如何截断sys.stdout.truncate()
?
操作系统和更多信息
操作系统:Windows
操作系统版本:Windows 10
编程语言:Python
编程语言版本:Python 3.6
其他详细信息:从命令行运行
答案 0 :(得分:1)
sys.stdout是一个文件对象,对应于解释器的标准输出,并且没有truncate()方法:
https://docs.python.org/3/library/sys.html#sys.stdout
似乎您想创建状态栏样式输出。 这应该在Python3中有效:
import time
counter = 0
while True:
print("{}".format(counter), end="\r")
time.sleep(1)
counter += 1
有关更多信息,请参见How to overwrite the previous print to stdout in python?