Python调用adb命令实现对多台设备同时进行reboot的方法


Posted in Python onOctober 15, 2018

首先,adb实现对设备的reboot命令是:adb reboot . 但是如果是两台/多台设备的时候,需要声明serial number: adb -s serial_no reboot.

那么,如何用python实现对多台设备进行adb操作呢(reboot)?

这里涉及到 python 下 subprocess model的使用:

import subprocess

adb device 获取所有设备的 serial number:

devices = subprocess.Popen(
 'adb devices'.split(),
 stdout=subprocess.PIPE,
 stderr=subprocess.PIPE
).communicate()[0]

这样adb device命令的返回信息都在devices下,但是我们只需要 serial number的:

serial_nos = []
for item in devices.split():
 filters = ['list', 'of', 'device', 'devices', 'attached']
 if item.lower() not in filters:
  serial_nos.append(item)

这样serial_nos 下保存的就是所有设备的 serial number 了,下面我们只需要依次对其进行adb -s [serial_number] reboot即可:

for serial_no in serial_nos:
 reboot_cmds.append('adb -s %s reboot' % serial_no)
for reboot_cmd in reboot_cmds:
 subprocess.Popen(
  reboot_cmd.split(),
  stdout=subprocess.PIPE,
  stderr=subprocess.PIPE
 ).communicate()[0]

这样,每个设备都进行了reboot的操作了……

以上这篇Python调用adb命令实现对多台设备同时进行reboot的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python3操作mysql数据库的方法
Jun 23 Python
python select.select模块通信全过程解析
Sep 20 Python
详解django三种文件下载方式
Apr 06 Python
详解windows python3.7安装numpy问题的解决方法
Aug 13 Python
python实现H2O中的随机森林算法介绍及其项目实战
Aug 29 Python
python 实现return返回多个值
Nov 19 Python
python实现打砖块游戏
Feb 25 Python
Python反爬虫伪装浏览器进行爬虫
Feb 28 Python
python如何支持并发方法详解
Jul 25 Python
Django model重写save方法及update踩坑详解
Jul 27 Python
Python连接Mysql进行增删改查的示例代码
Aug 03 Python
Python数据类型最全知识总结
May 31 Python
彻彻底底地理解Python中的编码问题
Oct 15 #Python
widows下安装pycurl并利用pycurl请求https地址的方法
Oct 15 #Python
解决python3 安装完Pycurl在import pycurl时报错的问题
Oct 15 #Python
Python安装pycurl失败的解决方法
Oct 15 #Python
django框架之cookie/session的使用示例(小结)
Oct 15 #Python
Python访问MongoDB,并且转换成Dataframe的方法
Oct 15 #Python
Django框架的中的setting.py文件说明详解
Oct 15 #Python
You might like
深入浅出php socket编程
2015/05/13 PHP
php网页版聊天软件实现代码
2016/08/12 PHP
PHP数组内存利用率低和弱类型详细解读
2017/08/10 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
innerHTML,outerHTML,innerTEXT三者之间的区别
2007/01/28 Javascript
jquery表单验证框架提供的身份证验证方法(示例代码)
2013/12/27 Javascript
Nodejs实现多人同时在线移动鼠标的小游戏分享
2014/12/06 NodeJs
JavaScript使用Replace进行字符串替换的方法
2015/04/14 Javascript
Bootstrap每天必学之栅格系统(布局)
2015/11/25 Javascript
无法获取隐藏元素宽度和高度的解决方案
2017/03/07 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
vue.js 实现图片本地预览 裁剪 压缩 上传功能
2018/03/01 Javascript
React Native基础入门之调试React Native应用的一小步
2018/07/02 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
2018/08/10 Javascript
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)
2019/04/30 Javascript
Vue中qs插件的使用详解
2020/02/07 Javascript
[01:30:55]VG vs Mineski Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
python数据类型判断type与isinstance的区别实例解析
2017/10/31 Python
python实现判断一个字符串是否是合法IP地址的示例
2018/06/04 Python
使用python模拟命令行终端的示例
2019/08/13 Python
python 调试冷知识(小结)
2019/11/11 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
2020/06/10 Python
Python confluent kafka客户端配置kerberos认证流程详解
2020/10/12 Python
使用css3绘制出各种几何图形
2016/08/17 HTML / CSS
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
电气自动化大学生求职信
2013/10/16 职场文书
教师实习自我鉴定
2013/12/18 职场文书
厨房管理计划书
2014/04/27 职场文书
软件项目实施计划书
2014/05/02 职场文书
班级学习雷锋活动总结
2014/07/04 职场文书
成品仓管员岗位职责
2015/04/01 职场文书
合理化建议书范文
2015/09/14 职场文书
船舶调度指挥系统——助力智慧海事
2022/02/18 无线电