是否可以写在同一行而不写在几行?
Is It possible to write in the same line and don't write in several row?
我会用这个简单的 python 脚本打印 cpu 用法。我会写下结果,擦除该行并在同一行上重新写入,就像 windows shell 对某些命令所做的那样。可能吗?
import psutil #import tsutil
import time
def printit():
while(1):
print(psutil.cpu_percent())
time.sleep(3)
printit()
每行打印一行。我希望结果总是在同一行发生变化
是的,使用 print(psutil.cpu_percent(), end=' ')
您还需要刷新标准输出,因为除非您打印换行符,否则内容实际上不会打印在屏幕上。
试试这个:
import psutil
import time
import sys
def printit():
while(1):
print(psutil.cpu_percent(), end=' ')
sys.stdout.flush()
time.sleep(3)
printit()
在打印功能上使用回车 return
import psutil
import time
import sys
def printit():
while(1):
print('{:06.2f}'.format(psutil.cpu_percent()), end='\r')
time.sleep(3)
printit()
更新:如果字符串大小不同,使用 \r 会中断,格式可以解决这个问题
我会用这个简单的 python 脚本打印 cpu 用法。我会写下结果,擦除该行并在同一行上重新写入,就像 windows shell 对某些命令所做的那样。可能吗?
import psutil #import tsutil
import time
def printit():
while(1):
print(psutil.cpu_percent())
time.sleep(3)
printit()
每行打印一行。我希望结果总是在同一行发生变化
是的,使用 print(psutil.cpu_percent(), end=' ')
您还需要刷新标准输出,因为除非您打印换行符,否则内容实际上不会打印在屏幕上。
试试这个:
import psutil
import time
import sys
def printit():
while(1):
print(psutil.cpu_percent(), end=' ')
sys.stdout.flush()
time.sleep(3)
printit()
在打印功能上使用回车 return
import psutil
import time
import sys
def printit():
while(1):
print('{:06.2f}'.format(psutil.cpu_percent()), end='\r')
time.sleep(3)
printit()
更新:如果字符串大小不同,使用 \r 会中断,格式可以解决这个问题