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 相关文章推荐
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
Jun 18 Python
学习python之编写简单乘法口诀表实现代码
Feb 27 Python
Linux中安装Python的交互式解释器IPython的教程
Jun 13 Python
Python语言实现百度语音识别API的使用实例
Dec 13 Python
Python中property属性实例解析
Feb 10 Python
Python中xml和dict格式转换的示例代码
Nov 07 Python
python爬虫开发之selenium模块详细使用方法与实例全解
Mar 09 Python
使用Matplotlib绘制不同颜色的带箭头的线实例
Apr 17 Python
python3.7+selenium模拟淘宝登录功能的实现
May 26 Python
Python轻量级web框架bottle使用方法解析
Jun 13 Python
Python+unittest+requests 接口自动化测试框架搭建教程
Oct 09 Python
python将YUV420P文件转PNG图片格式的两种方法
Jan 22 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性能优化 产生高度优化代码
2011/07/22 PHP
Centos下升级php5.2到php5.4全记录(编译安装)
2015/04/03 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
2016/10/03 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
2019/06/22 PHP
jQuery UI Dialog控件中的表单无法正常提交的解决方法
2010/12/19 Javascript
10条建议帮助你创建更好的jQuery插件
2015/05/18 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
浅谈javascript中的事件冒泡和事件捕获
2016/12/28 Javascript
React 组件间的通信示例
2018/06/14 Javascript
layui问题之模拟select点击事件的实例讲解
2018/08/15 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
Echarts之悬浮框中的数据排序问题
2018/11/08 Javascript
Vue.js实现tab切换效果
2019/07/24 Javascript
vue登录以及权限验证相关的实现
2019/10/25 Javascript
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
Python版微信红包分配算法
2015/05/04 Python
简单学习Python time模块
2016/04/29 Python
Python自动发邮件脚本
2017/03/31 Python
python正则中最短匹配实现代码
2018/01/16 Python
python实现三维拟合的方法
2018/12/29 Python
python实现五子棋小游戏
2020/03/25 Python
OpenCV-Python 摄像头实时检测人脸代码实例
2019/04/30 Python
python中p-value的实现方式
2019/12/16 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
将labelme格式数据转化为标准的coco数据集格式方式
2020/02/17 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
2021/02/16 Python
医学专业职业生涯规划范文
2014/02/05 职场文书
教师现实表现材料
2014/02/14 职场文书
工商管理专业大学生职业生涯规划范文
2014/03/09 职场文书
行政介绍信范文
2015/05/04 职场文书
春晚观后感
2015/06/11 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python
Nginx设置HTTPS的方法步骤 443证书配置方法
2022/03/21 Servers