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实现从字符串中找出字符1的位置以及个数的方法
Aug 25 Python
浅谈MySQL中的触发器
May 05 Python
Python爬虫爬取美剧网站的实现代码
Sep 03 Python
Python调用C语言的方法【基于ctypes模块】
Jan 22 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
Jun 25 Python
Python实现八皇后问题示例代码
Dec 09 Python
Python实现多线程/多进程的TCP服务器
Sep 03 Python
python打包成so文件过程解析
Sep 28 Python
python Manager 之dict KeyError问题的解决
Dec 21 Python
python 中[0]*2与0*2的区别说明
May 10 Python
详解Python生成器和基于生成器的协程
Jun 03 Python
pycharm安装深度学习pytorch的d2l包失败问题解决
Mar 25 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页码形式分页函数支持静态化地址及ajax分页
2014/03/28 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
2014/12/16 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
2020/10/28 PHP
提高 DHTML 页面性能
2006/12/25 Javascript
Javascript 日期对象Date扩展方法
2009/05/30 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
2013/01/16 Javascript
JavaScript函数获取事件源的小例子
2014/05/14 Javascript
js数组中如何随机取出一个值
2014/06/13 Javascript
JavaScript数组去重的3种方法和代码实例
2015/07/01 Javascript
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
jQuery.Form上传文件操作
2017/02/05 Javascript
nodejs用gulp管理前端文件方法
2018/06/24 NodeJs
在vue中使用公共过滤器filter的方法
2018/06/26 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
微信小程序云开发如何使用npm安装依赖
2019/05/18 Javascript
Vue+Element UI+vue-quill-editor富文本编辑器及插入图片自定义
2019/08/20 Javascript
[03:01]2014DOTA2国际邀请赛 DC:我是核弹粉,为Burning和国土祝福
2014/07/13 DOTA
Python配置文件解析模块ConfigParser使用实例
2015/04/13 Python
全面了解python字符串和字典
2016/07/07 Python
Python抓取框架 Scrapy的架构
2016/08/12 Python
Python优先队列实现方法示例
2017/09/21 Python
Python使用numpy实现BP神经网络
2018/03/10 Python
使用python对文件中的单词进行提取的方法示例
2018/12/21 Python
Python PyCharm如何进行断点调试
2019/07/05 Python
Python迭代器协议及for循环工作机制详解
2020/07/14 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
2020/08/11 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
使用Python获取爱奇艺电视剧弹幕数据的示例代码
2021/01/12 Python
印度在线内衣和时尚目的地:Zivame
2017/09/28 全球购物
机械专业个人求职自荐信格式
2013/09/21 职场文书
农村改厕实施方案
2014/03/22 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
JS创建或填充任意长度数组的小技巧汇总
2021/10/24 Javascript