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装饰器与递归算法详解
Feb 18 Python
Python实现视频下载功能
Mar 14 Python
Python排序搜索基本算法之冒泡排序实例分析
Dec 09 Python
Python实现生成随机日期字符串的方法示例
Dec 25 Python
从请求到响应过程中django都做了哪些处理
Aug 01 Python
Python实现的列表排序、反转操作示例
Mar 13 Python
python实现局域网内实时通信代码
Dec 22 Python
Keras之自定义损失(loss)函数用法说明
Jun 10 Python
如何快速理解python的垃圾回收机制
Sep 01 Python
python生成word合同的实例方法
Jan 12 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
Feb 06 Python
 python中的元类metaclass详情
May 30 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中实现Javascript的escape()函数代码
2010/08/08 PHP
PHP中4种常用的抓取网络数据方法
2015/06/04 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2017/04/27 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
2017/05/20 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
杨氏矩阵查找的JS代码
2013/03/21 Javascript
javascript中的delete使用详解
2013/04/11 Javascript
对jQuery的事件绑定的一些思考(补充)
2013/04/20 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
2013/05/26 Javascript
解析URI与URL之间的区别与联系
2013/11/22 Javascript
JS根据变量保存方法名并执行方法示例
2014/04/04 Javascript
JavaScript日期时间格式化函数分享
2014/05/05 Javascript
Extjs根据条件设置表格某行背景色示例
2014/07/23 Javascript
JavaScript基础知识之方法汇总结
2016/01/24 Javascript
简单的JS控制button颜色随点击更改的实现方法
2017/04/17 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
2018/05/16 Javascript
vue 实现input表单元素的disabled示例
2019/10/28 Javascript
解决vue-router 切换tab标签关闭时缓存问题
2020/07/22 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
vue中重定向redirect:‘/index‘,不显示问题、跳转出错的完美解决
2020/09/28 Javascript
[01:48]DOTA2 2015国际邀请赛中国区预选赛第二日战报
2015/05/27 DOTA
web.py在SAE中的Session问题解决方法(使用mysql存储)
2015/06/24 Python
Python实现新浪博客备份的方法
2016/04/27 Python
Python实现将SQLite中的数据直接输出为CVS的方法示例
2017/07/13 Python
Python实现图片转字符画的示例代码
2017/08/21 Python
python散点图实例之随机漫步
2018/08/27 Python
NumPy排序的实现
2020/01/21 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
马来西亚在线时尚女装商店:KEI MAG
2017/09/28 全球购物
阿联酋航空官方网站:Emirates
2017/10/17 全球购物
旅游管理专业大学生职业规划书
2014/02/27 职场文书
cf收人广告词大全
2014/03/14 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
整改通知书
2015/04/20 职场文书
运动会主持人开幕词
2016/03/04 职场文书