#!/usr/bin/python3
import tkinter as tk
from tkinter import *
import socket
def get_host_ip():
"""
查询本机ip地址
:return: ip
"""
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('8.8.8.8', 80))
ip = s.getsockname()[0]
finally:
s.close()
return ip
import subprocess as commands#python2.0是commands包
import os
import time
def get():
# 查看GPU温度
gpu = commands.getoutput( '/opt/vc/bin/vcgencmd measure_temp' ).replace( 'temp=', '' ).replace( '\'C', '' )
gpu = float(gpu)
print('gpu Temp: %.2f ' % gpu)
# 查看CPU温度
file = open("/sys/class/thermal/thermal_zone0/temp")
cpu = float(file.read()) / 1000
file.close()
print('cpu Temp: %2.2f' % cpu)
load_5min_str = str(os.popen("top -n1 | awk '/load average:/ {print $10}'").readline().strip())
load_5min = load_5min_str.replace(',', '' )
load_10min_str = str(os.popen("top -n1 | awk '/load average:/ {print $11}'").readline().strip())
load_10min = load_10min_str.replace(',', '' )
load_5min=float(load_5min[0:3])
load_10min=float(load_10min[0:3])
print('')
print('load_5min: %.2f'%load_5min)
print('load_10min: %.2f'%load_10min)
Ramused = str(os.popen("top -n1 | awk '/MiB/ {print $6}'").readline().strip())
print(Ramused)
Ramused = Ramused.replace(',', '' )
Ramused = Ramused.replace('\nfree', '' )
Ramused = float(Ramused)
print('')
print('Ramused: %.2f '%Ramused +' Mb')
def getDiskSpace():
p = os.popen("df -h /")
i = 0
while 1:
i = i +1
line = p.readline()
if i==2:
return(line.split()[1:5])
# Disk information
DISK_stats = getDiskSpace()
DISK_total = DISK_stats[0].replace('G','')
DISK_used = DISK_stats[1].replace('G', '' )
DISK_perc = DISK_stats[3].replace('%', '' )
print('')
print('DISK_total: '+str(DISK_total)+' Gb')
print('DISK_used: '+str(DISK_used)+' Gb')
print('DISK_perc: '+str(DISK_perc)+' %')
return gpu,cpu,load_5min,load_10min,Ramused,DISK_total,DISK_used,DISK_perc
def lableset(info):
ip = get_host_ip()
gpu,cpu,load_5min,load_10min,Ramused,DISK_total,DISK_used,DISK_perc = get()
time_ = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
info[0].set("IP:"+get_host_ip())
info[1].set("CPU Temp:"+str(cpu))
info[2].set("GPU Temp:"+str(gpu))
info[3].set("RAM 5min used:"+str(load_5min) )
info[4].set("RAM 10min used:"+str(load_10min) )
info[5].set("DISK total:"+str(DISK_total) )
info[6].set("DISK used:"+str(DISK_used) )
info[7].set("DISK used:"+str(DISK_perc)+"%")
info[8].set("Time:"+str(time_))
return info
def refreshText():
global info
info = lableset(info)
root.after(100,refreshText)
root = Tk() # 创建窗口对象的背景色
root.title("INFO")
root.geometry('320x320+10+10')
global info
info = []
for i in range(11):
_v = StringVar()
info.append(_v)
info = lableset(info)
for i in info:
l = tk.Label(root, textvariable=i,font=("华文行楷", 20))
l.pack()
root.after(100,refreshText)
root.mainloop()
主要代码是get() get_host_ip()
用tkinter写了个界面