使用 python 让树莓派显示 ip,cpu gpu 温度,内存硬盘使用率,网速 – [树莓派]

以下代码在python 3.5中测试
2.* 可以将subprocess 换成commands

import subprocess
import time
import socket
import psutil  # 监控数据读取
from time import sleep  # 控制刷新时间

def sleeptime(hour,min,sec):
    return hour*3600 + min*60 + sec;
second = sleeptime(0,0,10);

def get_ip():#获取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

def get_cpu_temp():#CPU温度
    file = open("/sys/class/thermal/thermal_zone0/temp")
    temp = float(file.read()) / 1000
    file.close();
    return temp

def get_gpu_temp(): #GPU温度
    temp = subprocess.getoutput('/opt/vc/bin/vcgencmd measure_temp').replace('temp=','').replace('\'C','')
    return float(temp)

def cpu(): #CPU使用率
    cpu_p = psutil.cpu_percent(interval=1, percpu=True)  # 读取CPU使用率
    return cpu_p

def disk(): #硬盘使用情况
    disk_u = psutil.disk_usage("/").percent
    disk_u = str(disk_u)+"%"
    return disk_u

def mem(): #内存使用情况
    mem_p = psutil.virtual_memory().percent  # 读取内存使用率
    #mem=mem_u / mem_t
    return mem_p

def net_info(): #网络使用情况
    net_in = psutil.net_io_counters().bytes_recv/1024/1024
    net_in = round(net_in, 2)
    net_out = psutil.net_io_counters().bytes_sent/1024/1024
    net_out = round(net_out, 2)
    net = str(net_in)+"MB / "+str(net_out)+"MB"
    return net

def net_speed(): #网速
    s1 = psutil.net_io_counters().bytes_recv
    time.sleep(1)
    s2 = psutil.net_io_counters().bytes_recv
    result = s2 - s1
    #除法结果保留两位小数
    return str('%.2f'%(result / 1024)) + 'kb/s'

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

— 于 共码了1261个字
— 文内使用到的标签:
Emin.ink Emin.ink Emin.ink

2条回应:“使用 python 让树莓派显示 ip,cpu gpu 温度,内存硬盘使用率,网速 – [树莓派]”

  1. xiantang说道:

    博客很漂亮 希望添加一个高亮功能 这样代码的阅读体验会更好

发表评论

电子邮件地址不会被公开。 必填项已用*标注