使用 Python 的 subprocess 模块显示树莓派 IP

1. 代码

import subprocess

cmd = "hostname -I"
print subprocess.check_output(cmd, shell = True)

结果:

pi $ python stats.py
169.254.X.X 192.168.X.X

2. 说明

hostname 命令

可以获取主机名及IP。

pi $ hostname
raspberrypi
pi $ hostname -I
169.254.X.X 192.168.X.X

subprocess 模块

subprocess 是 Python 2.4 中新增的一个模块,它允许你生成新的进程,连接到它们的 input/output/error 管道,并获取它们的返回(状态)码。

3. 备注

想法来自“树莓派实验室”的《在树莓派上使用 SSD1306 OLED 屏幕》

在 OLED 上显示系统状态用到了 Adafruit-SSD1306 库的一个例子 stats.py (github链接:https://github.com/adafruit/Adafruit_Python_SSD1306/blob/master/examples/stats.py)。

其中代码:

cmd = "hostname -I | cut -d\' \' -f1"
IP = subprocess.check_output(cmd, shell = True )
cmd = "top -bn1 | grep load | awk '{printf \"CPU Load: %.2f\", $(NF-2)}'"
CPU = subprocess.check_output(cmd, shell = True )
cmd = "free -m | awk 'NR==2{printf \"Mem: %s/%sMB %.2f%%\", $3,$2,$3*100/$2 }'"
MemUsage = subprocess.check_output(cmd, shell = True )
cmd = "df -h | awk '$NF==\"/\"{printf \"Disk: %d/%dGB %s\", $3,$2,$5}'"
Disk = subprocess.check_output(cmd, shell = True )

可以获取各种系统信息。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值