Python查看计算机系统信息,CPU,内存,磁盘及网络信息
import sys
import io
import psutil
import datetime
import time
import platform
import functools
print = functools.partial(print, flush=True)
def monitor(count, timeout=10, line_to_list=False, ignore_error=False):
print("执行第{}次".center(50,'*').format(count))
try:
cpu_count = psutil.cpu_count()
cup_per = psutil.cpu_percent(interval=0.5)
print("cpu的逻辑核数为{},cpu的平均使用率为{}".format(cpu_count,cup_per))
memory_info = psutil.virtual_memory()
memory_total = memory_info.total / 1024 / 1024
memory_per = memory_info.percent
print("总内存大小为{}M,内存的使用率为{}".format(memory_total,memory_per))
disk_info = psutil.disk_usage("/")
print(disk_info)
disk_total = disk_info.total
disk_per = float(disk_info.used / disk_total * 100 )
print("根目录大小为{}M,根目录使用率为{}".format(disk_total / 1024 / 1024,round(disk_per,2)))
net = psutil.net_io_counters()
net_recv = float( net.bytes_recv / 1024 /1024)
net_sent = float(net.bytes_sent /1024 /1024)
print("网络收取{}M的数据,发送{}M的数据".format(round(net_recv,2),round(net_sent,2)))
current_time = datetime.datetime.now().strftime("%F %T")
print("当前时间是:{}".format(current_time))
return True, str(success)
except Exception as e:
return False, str(e)
def showEcsInfo():
print("操作系统及版本信息:{}".format(platform.platform()))
print("获取系统版本号:{}".format(platform.version()))
print("获取系统名称:{}".format(platform.system()))
print("系统位数:{}".format(platform.architecture()))
print("计算机类型:{}".format(platform.machine()))
print("计算机名称:{}".format(platform.node()))
print("处理器类型:{}".format(platform.processor()))
print("计算机相关信息:{}".format(platform.uname()))
if __name__ == '__main__':
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
showEcsInfo()
start = time.time()
end = time.time()
count = 0
while end - start <= 10:
count += 1
end = time.time()
success ,output = monitor(count)
time.sleep(2)