在同一行上打印值结果(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是的,没错。我只想看到值的变化。@链接,那么您确实想要循环,但只在值发生变化时打印?是的,这可能已经提前了一步,但答案更像上面的注释,例如加载栏。