#_*_ conding:utf-8 _*_ import psutil import time,datetime from tkinter import * import threading def get_cpu_info():#读取CPU信息 cpu_info = {'user': 0, "system": 0, "idle": 0, 'percent': 0} cpu_times = psutil.cpu_times() print(cpu_times) cpu_info['user'] =cpu_times.user cpu_info['system'] = cpu_times.system cpu_info['idle'] = cpu_times.idle cpu_info['percent'] = psutil.cpu_percent(interval=2) cpu_status = cpu_info['percent'] print("cpu usage is %s%%" % cpu_status) return cpu_status def get_memory_info():#读取内存信息 memory_total = [] memory_available = [] memory_percent = [] memory_used = [] memory_free = [] mem_info = psutil.virtual_memory() memory_total.append( mem_info.total) memory_available.append(mem_info.available) memory_percent.append(mem_info.percent) memory_used.append(mem_info.used) memory_free.append(mem_info.free) mem_status = memory_percent[0] print('memory usage in :%s%%' % mem_status) return mem_status def get_disk_info():#读取磁盘信息 disk_id = [] disk_total = [] disk_used = [] disk_free = [] disk_percent = [] for id in psutil.disk_partitions(): if "cdrom" in id.opts or id.fstype =='': continue disk_name = id.device.split(':') s = disk_name[0] disk_id.append(s) disk_info = psutil.disk_usage(id.device) disk_total.append(disk_info.total) disk_used.append(disk_info.used) disk_free.append(disk_info.free) disk_percent.append(disk_info.percent) for i in range(len(disk_id)): print("%s disk usage is :%s%%" % (disk_id[i], 100 - disk_percent[i])) print(disk_id,disk_percent) return disk_id, disk_percent def thread_info():#把读取信息形式在text文本框中 global buton1 while True: time.sleep(1) tp = datetime.datetime.now() print('----------本机数据---------') print('当前时间:', tp.strftime('%Y-%m-%d %H:%M:%S')) print() q1=get_cpu_info() q2=get_memory_info() q3=get_disk_info() text1.delete(1.0, END) text2.delete(1.0, END) text3.delete(1.0, END) text1.insert(1.0,'%s%%'%q1 ) text2.insert(1.0,'%s%%'%q2 ) text3.insert(1.0, '%s:%s%%\n%s:%s%%\n%s:%s%%\n%s:%s%%\n' %(q3[0][0],100-q3[1][0],q3[0][1],100-q3[1][1], q3[0][2],100-q3[1][2],q3[0][3],100-q3[1][3])) if button1==False: break i=1 button1=True def data():#按钮打开读取信息 global i,button1 if i==1: th = threading.Thread(target=thread_info) th.start() i=i+1 button1 = True def data1():#按钮关闭读取信息 global i,button1 i=1 button1=False #监控界面 window = Tk() window.title('监控软件') window.geometry('250x140') window.resizable(0,0) frame1= Frame(window) button1=Button(window,text='打开',width=10,height=1,command=data) button1.grid(row=0,column=0) button1=Button(window,text='关闭',width=10,height=1,command=data1) button1.grid(row=0,column=1) label1=Label(window,text='cpu占用率:') label1.grid(row=1,column=0) label2=Label(window,text='内存占用率:') label2.grid(row=2,column=0) label3=Label(window,text='磁盘可用率:') label3.grid(row=3,column=0) data1=StringVar() text1=Text(window,width=10,height=1) text1.place(x=75,y=35) text2=Text(window,width=10,height=1) text2.place(x=75,y=55) text3=Text(window,width=10,height=4) text3.place(x=75,y=75) frame1.grid(row=0,column=0) mainloop()
读取本机cpu等数据信息
猜你喜欢
转载自blog.csdn.net/weixin_43991012/article/details/84851908
今日推荐
周排行