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 相关文章推荐
用实例分析Python中method的参数传递过程
Apr 02 Python
整理Python 常用string函数(收藏)
May 30 Python
利用python如何处理nc数据详解
May 23 Python
详解python之协程gevent模块
Jun 14 Python
对python读写文件去重、RE、set的使用详解
Dec 11 Python
django主动抛出403异常的方法详解
Jan 04 Python
python3实现二叉树的遍历与递归算法解析(小结)
Jul 03 Python
python定间隔取点(np.linspace)的实现
Nov 27 Python
Anaconda+vscode+pytorch环境搭建过程详解
May 25 Python
python 基于selectors库实现文件上传与下载
Dec 31 Python
Pycharm 跳转回之前所在页面的操作
Feb 05 Python
Pytest实现setup和teardown的详细使用详解
Apr 17 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文件上传及下载附带显示文件及目录功能
2017/04/27 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
2019/02/28 PHP
PHP+RabbitMQ实现消息队列的完整代码
2019/03/20 PHP
jQuery Validation插件remote验证方式的Bug解决
2010/07/01 Javascript
json2.js的初步学习与了解
2011/10/06 Javascript
Jquery显示和隐藏元素或设为只读(含Ligerui的控件禁用,实例说明介绍)
2013/07/09 Javascript
JS截取字符串常用方法整理及使用示例
2013/10/18 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
2014/10/17 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
AngularJS页面传参的5种方式
2017/04/01 Javascript
值得分享和收藏的xmlplus组件学习教程
2017/05/05 Javascript
vue 实现axios拦截、页面跳转和token 验证
2018/07/17 Javascript
element-ui表格数据转换的示例代码
2018/08/24 Javascript
Vue表单输入绑定的示例代码
2018/11/01 Javascript
解决echarts的多个折现数据出现坐标和值对不上的问题
2018/12/28 Javascript
Vue的transition-group与Virtual Dom Diff算法的使用
2019/12/09 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
vue 页面回退mounted函数不执行的解决方案
2020/07/26 Javascript
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
Python自动连接ssh的方法
2015/03/07 Python
python中引用与复制用法实例分析
2015/06/04 Python
python实现感知器算法(批处理)
2019/01/18 Python
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
Python 50行爬虫抓取并处理图灵书目过程详解
2019/09/20 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
Python中url标签使用知识点总结
2020/01/16 Python
Python 文件数据读写的具体实现
2020/01/24 Python
梅西酒窖:Macy’s Wine Cellar
2018/01/07 全球购物
Dogeared官网:在美国手工制作的珠宝
2019/08/24 全球购物
应届毕业生自荐信
2014/05/28 职场文书
离职证明标准格式
2014/09/15 职场文书
中小学生学籍证明
2014/10/25 职场文书
大学生实习推荐信
2015/03/27 职场文书
Golang 正则匹配效率详解
2021/04/25 Golang
解决golang 关于全局变量的坑
2021/05/06 Golang