微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

刷新Psutil结果

如何解决刷新Psutil结果

我有这些代码集可以在python中使用Psutil监视系统,并且可以正常工作。对于下一步,我希望结果每15秒刷新一次以保持监视系统更新,但是似乎找不到解决方法。以下是我的代码

import psutil


def get_size(bytes,suffix="B"):
    # unit conversion
    factor = 1024
    for unit in ["","K","M","G","T","P"]:
        if bytes < factor:
            return f"{bytes:.2f}{unit}{suffix}"
        bytes /= factor


# Line break
print("=" * 40,"cpu Info","=" * 40)

# cpu frequencies
cpu_Frequency = psutil.cpu_freq()
print(f"Current Frequency: {cpu_Frequency.current:.2f}Mhz")

# cpu usage
print("cpu Usage Per Core:")
for i,percentage in enumerate(psutil.cpu_percent(percpu=True,interval=1)):
    print(f"Core {i}: {percentage}%")
print(f"Total cpu Usage: {psutil.cpu_percent()}%")

# Line break
print("=" * 40,"Memory information","=" * 40)

# Memory details
svmem = psutil.virtual_memory()
print(f"Total: {get_size(svmem.total)}")
print(f"Used: {get_size(svmem.used)}")
print(f"Percentage: {svmem.percent}%")
print(f"Available: {get_size(svmem.available)}")

# Line break
print("=" * 40,"disk information","=" * 40)
print("Partitions and Usage:")

# disk partitions
partitions = psutil.disk_partitions()
for partition in partitions:
    print(f"=== Device: {partition.device} ===")
    print(f"  Mountpoint: {partition.mountpoint}")
    print(f"  File system type: {partition.fstype}")
    try:
        partition_usage = psutil.disk_usage(partition.mountpoint)
    except PermissionError:
        continue
    print(f"  Total Size: {get_size(partition_usage.total)}")
    print(f"  Used: {get_size(partition_usage.used)}")
    print(f"  Free: {get_size(partition_usage.free)}")
    print(f"  Percentage: {partition_usage.percent}%")

我们将不胜感激任何帮助。

解决方法

您应该在while循环中运行

这是完整的代码

import psutil
import time

def get_size(bytes,suffix="B"):
    # unit conversion
    factor = 1024
    for unit in ["","K","M","G","T","P"]:
        if bytes < factor:
            return f"{bytes:.2f}{unit}{suffix}"
        bytes /= factor


def get_stats():
    # Line break
    print("=" * 40,"CPU Info","=" * 40)

    # CPU frequencies
    CPU_Frequency = psutil.cpu_freq()
    print(f"Current Frequency: {CPU_Frequency.current:.2f}Mhz")

    # CPU usage
    print("CPU Usage Per Core:")
    for i,percentage in enumerate(psutil.cpu_percent(percpu=True,interval=1)):
        print(f"Core {i}: {percentage}%")
    print(f"Total CPU Usage: {psutil.cpu_percent()}%")

    # Line break
    print("=" * 40,"Memory Information","=" * 40)

    # Memory details
    svmem = psutil.virtual_memory()
    print(f"Total: {get_size(svmem.total)}")
    print(f"Used: {get_size(svmem.used)}")
    print(f"Percentage: {svmem.percent}%")
    print(f"Available: {get_size(svmem.available)}")

    # Line break
    print("=" * 40,"Disk Information","=" * 40)
    print("Partitions and Usage:")

    # Disk partitions
    partitions = psutil.disk_partitions()
    for partition in partitions:
        print(f"=== Device: {partition.device} ===")
        print(f"  Mountpoint: {partition.mountpoint}")
        print(f"  File system type: {partition.fstype}")
        try:
            partition_usage = psutil.disk_usage(partition.mountpoint)
        except PermissionError:
            continue
        print(f"  Total Size: {get_size(partition_usage.total)}")
        print(f"  Used: {get_size(partition_usage.used)}")
        print(f"  Free: {get_size(partition_usage.free)}")
        print(f"  Percentage: {partition_usage.percent}%")


if __name__ == "__main__":
    while True:
        time.sleep(2) # sleep for 2 seconds
        get_stats()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。