是否可以写在同一行而不写在几行?

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 会中断,格式可以解决这个问题