[Python实例] python获取安卓手机的手机电量以及充电状态

Android的adb命令可以获取手机的基础信息,比如:电池、网络、内存等等,所以下面使用python的os模块来获取手机的电池电量以及充电状态

1、adb命令获取手机电池信息:

adb shell dumpsys battery

123123.png

2、使用Python的OS模块实现电池电量和充电状态查询

  • pythond的os可以用来执行cmd命令
  • os.popen(cmd)方法可以执行cmd命令,但是需要跟上read()方法才可获取到命令执行的结果
  • 然后将得到的输出结果处理成python的字典类型,最终就可以使用字典方法获取我们想要的内容
import os
'''
获取Android手机电池电量
example:
  AC powered: false
  USB powered: true
  Wireless powered: false
  status: 1            #电池状态:2:充电状态 ,其他数字为非充电状态           
  health: 2            #电池健康状态:只有数字2表示good
  present: true        #电池是否安装在机身
  level: 55            #电量: 百分比
  scale: 100
  voltage: 3977         #电池电压
  current now: -335232  #电流值,负数表示正在充电
  temperature: 335      #电池温度,单位是0.1摄氏度
  technology: Li-poly    #电池种类=
'''
def get_battery_info():
    battery_cmd = "adb shell dumpsys battery"
    output = os.popen(battery_cmd).read().split("\n")
    dict = {}
    for i in output:
        new_i = i.strip(" ").split(":")
        if len(new_i) == 1:
            del new_i
        else:
            key = new_i[0]
            value = new_i[1]
            dict[key] = value
    battery_remain = int(dict["level"].strip(""))
    battery_statu = int(dict["status"].strip(""))
    if battery_statu == 2:
        print("Info:充电中...")
    else:
        print("Info:手机未充电...")
    print("Info:手机电量目前为:%d%%" %(battery_remain))

if __name__ == '__main__':
    get_battery_info()

3、输出结果

image.png

注意:手机必须连接到电脑,并打开手机的USB调试模式才能够获取到电池信息。

你可能感兴趣的:([Python实例] python获取安卓手机的手机电量以及充电状态)