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 03 Python
深入浅析python中的多进程、多线程、协程
Jun 22 Python
python+opencv实现动态物体追踪
Jan 09 Python
python实现音乐下载器
Apr 15 Python
Python读取txt内容写入xls格式excel中的方法
Oct 11 Python
Python中的CSV文件使用"with"语句的方式详解
Oct 16 Python
Python 利用切片从列表中取出一部分使用的方法
Feb 01 Python
Python提取频域特征知识点浅析
Mar 04 Python
Python Django给admin添加Action的方法实例详解
Apr 29 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
Oct 23 Python
Python面向对象程序设计之继承、多态原理与用法详解
Mar 23 Python
Python性能测试工具Locust安装及使用
Dec 01 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
flash用php连接数据库的代码
2011/04/21 PHP
PHP生成自适应大小的缩略图类及使用方法分享
2014/05/06 PHP
php下pdo的mysql事务处理用法实例
2014/12/27 PHP
php实现递归与无限分类的方法
2015/02/16 PHP
功能强大的php文件上传类
2016/08/29 PHP
Javascript公共脚本库系列(一): 弹出层脚本
2011/02/24 Javascript
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
2014/04/16 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
Javascript中的五种数据类型详解
2014/12/26 Javascript
深入探讨javascript函数式编程
2015/10/11 Javascript
jQuery循环遍历子节点并获取值的方法
2016/04/14 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
2016/05/05 Javascript
js手动播放图片实现图片轮播效果
2016/09/17 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
浅谈JS对html标签的属性的干预以及对CSS样式表属性的干预
2017/06/25 Javascript
Vue.js仿微信聊天窗口展示组件功能
2017/08/11 Javascript
将jquery.qqFace.js表情转换成微信的字符码
2017/12/01 jQuery
原生JS实现$.param() 函数的方法
2018/08/10 Javascript
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
Django项目中使用JWT的实现代码
2019/11/04 Python
HTML5 本地存储实现购物车功能
2017/09/07 HTML / CSS
html svg生成环形进度条的实现方法
2019/09/23 HTML / CSS
世界最大域名注册商:GoDaddy
2016/07/24 全球购物
奇怪的鱼:Weird Fish
2018/03/18 全球购物
Probikekit欧盟:在线公路自行车专家
2019/07/12 全球购物
企业宗旨标语
2014/06/10 职场文书
电子商务专业毕业生求职信
2014/06/12 职场文书
百年校庆宣传标语口号
2015/12/26 职场文书
党员电教片《信仰》心得体会
2016/01/15 职场文书
告诉你一个秘密:富人致富的五大优点
2019/07/11 职场文书
Python Pandas知识点之缺失值处理详解
2021/05/11 Python
python内置进制转换函数的操作
2021/06/02 Python