本篇介绍如何使用Python编写一个能输出树莓派各种状态和数据的脚本,包括CPU温度、CPU占用情况、内存占用情况和硬盘占用。
建立脚本:
1
|
sudo nano get.py |
贴入如下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
import os # Return CPU temperature as a character string def getCPUtemperature(): res = os.popen( 'vcgencmd measure_temp' ).readline() return (res.replace( "temp=" ," ").replace(" 'C\n "," ")) # Return RAM information (unit=kb) in a list # Index 0: total RAM # Index 1: used RAM # Index 2: free RAM def getRAMinfo(): p = os.popen( 'free' ) i = 0 while 1 : i = i + 1 line = p.readline() if i = = 2 : return (line.split()[ 1 : 4 ]) # Return % of CPU used by user as a character string def getCPUuse(): return ( str (os.popen( "top -n1 | awk '/Cpu\(s\):/ {print $2}'" ).readline().strip())) # Return information about disk space as a list (unit included) # Index 0: total disk space # Index 1: used disk space # Index 2: remaining disk space # Index 3: percentage of disk used 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 ]) # CPU informatiom CPU_temp = getCPUtemperature() CPU_usage = getCPUuse() # RAM information # Output is in kb, here I convert it in Mb for readability RAM_stats = getRAMinfo() RAM_total = round ( int (RAM_stats[ 0 ]) / 1000 , 1 ) RAM_used = round ( int (RAM_stats[ 1 ]) / 1000 , 1 ) RAM_free = round ( int (RAM_stats[ 2 ]) / 1000 , 1 ) # Disk information DISK_stats = getDiskSpace() DISK_total = DISK_stats[ 0 ] DISK_used = DISK_stats[ 1 ] DISK_perc = DISK_stats[ 3 ] if __name__ = = '__main__' : print ('') print ( 'CPU Temperature = ' + CPU_temp) print ( 'CPU Use = ' + CPU_usage) print ('') print ( 'RAM Total = ' + str (RAM_total) + ' MB' ) print ( 'RAM Used = ' + str (RAM_used) + ' MB' ) print ( 'RAM Free = ' + str (RAM_free) + ' MB' ) print ('') print ( 'DISK Total Space = ' + str (DISK_total) + 'B' ) print ( 'DISK Used Space = ' + str (DISK_used) + 'B' ) print ( 'DISK Used Percentage = ' + str (DISK_perc)) |
然后执行:
1
2
|
chmod +x get.py python get.py |
预期输出结果如下:
1
2
3
4
5
6
7
8
9
10
|
CPU Temperature = 53.0 CPU Use = 13.5 RAM Total = 497.0 MB RAM Used = 116.0 MB RAM Free = 381.0 MB DISK Total Space = 3.6GB DISK Used Space = 1.8GB DISK Used Percentage = 53% |
未经允许不得转载:网购经验网 » 获取树莓派当前状态和数据(温度、CPU、内存、硬盘)
评论前必须登录!
登陆 注册