美文网首页
[Python实例] python获取安卓手机的手机电量以及充电

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

作者: 糯糯糯喏 | 来源:发表于2019-07-09 13:02 被阅读0次

    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获取安卓手机的手机电量以及充电

          本文链接:https://www.haomeiwen.com/subject/pihxkctx.html