在同一行上打印值结果(Python)
我必须这样做:在同一行上打印值结果(Python),python,Python,我必须这样做: import psutil import read_config mem = psutil.virtual_memory() print('Total RAM: ', (round(mem[0] / (1024 * 1024))), '(MB)') # total ram_usage = read_config.ram_usage while ram_usage is True: mem = psutil.virtual_memory() print('
import psutil
import read_config
mem = psutil.virtual_memory()
print('Total RAM: ', (round(mem[0] / (1024 * 1024))), '(MB)') # total
ram_usage = read_config.ram_usage
while ram_usage is True:
mem = psutil.virtual_memory()
print('Used RAM: ', (round(mem[3] / (1024 * 1024))), '(MB)', end="") # used
问题是,如果我执行,输出如下:
Total RAM: 3949 (MB)
Used RAM: 3069 (MB)Used RAM: 3069 (MB)Used RAM: 3069 (MB)Used RAM: 3069 (MB)Used RAM: 3069 (MB)
如何解决已用RAM
问题?我只想在第二行打印已用RAM的值,而不是在每次满足条件时打印该行
感谢要检测值是否已更改,只需保存旧值,然后有条件地打印:
old_mem = 0
while ram_usage is True:
mem = psutil.virtual_memory()
if mem[3] != old_mem:
old_mem = mem[3]
print('Used RAM: ', (round(mem[3] / (1024 * 1024))), '(MB)')
然而,这将检测到非常小的变化。如果您只想在显示值更改时打印,请先转换为MB,然后比较:
old_mem = 0
while ram_usage is True:
mem = psutil.virtual_memory()
mem_mb = round(mem[3] / (1024 * 1024))
if mem_mb != old_mem:
old_mem = mem_mb
print('Used RAM: ', mem_mb, '(MB)')
将
while
更改为if
肯定会解决您的问题,您是否正在尝试持续监视所使用的ram,并相应地更新显示?@FlyingTeller是的,它可以工作。谢谢但是如果我必须在这段时间内使用呢?@Faibbus是的,没错。我只想看到值的变化。@链接,那么您确实想要循环,但只在值发生变化时打印?是的,这可能已经提前了一步,但答案更像上面的注释,例如加载栏。