psutil
是一个 Python 库,用于获取系统使用情况(如 CPU、内存、磁盘、网络等)的信息。要优化使用 psutil
的代码,可以遵循以下几点建议:
psutil
,避免在代码开头导入整个库。import psutil
def get_cpu_usage():
cpu_usage = psutil.cpu_percent()
return cpu_usage
functools.lru_cache
装饰器:from functools import lru_cache
@lru_cache(maxsize=10)
def get_memory_info():
memory_info = psutil.virtual_memory()
return memory_info
def get_disk_usage():
try:
disk_usage = psutil.disk_usage('/')
return disk_usage
except PermissionError:
print("Permission denied")
return None
适当的方法调用:使用 psutil
提供的方法来获取所需的信息,而不是直接访问属性。例如,使用 psutil.cpu_percent(interval=1)
来获取 1 秒内的平均 CPU 使用率。
多线程或多进程:如果需要同时处理多个系统信息,可以使用多线程或多进程来提高性能。例如,使用 concurrent.futures
模块:
from concurrent.futures import ThreadPoolExecutor
def get_system_info():
with ThreadPoolExecutor() as executor:
cpu_usage = executor.submit(psutil.cpu_percent).result()
memory_info = executor.submit(get_memory_info).result()
disk_usage = executor.submit(get_disk_usage).result()
return cpu_usage, memory_info, disk_usage
遵循这些建议,可以帮助你优化使用 psutil
的代码,使其更加高效和易于维护。