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 相关文章推荐
HTML中使用python屏蔽一些基本功能的方法
Jul 07 Python
老生常谈Python startswith()函数与endswith函数
Sep 08 Python
Python类的继承和多态代码详解
Dec 27 Python
django传值给模板, 再用JS接收并进行操作的实例
May 28 Python
python调用百度语音识别api
Aug 30 Python
Python机器学习之scikit-learn库中KNN算法的封装与使用方法
Dec 14 Python
python实现WebSocket服务端过程解析
Oct 18 Python
Python求解正态分布置信区间教程
Nov 20 Python
python带参数打包exe及调用方式
Dec 21 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
Feb 06 Python
Python Serial串口基本操作(收发数据)
Nov 06 Python
Django集成富文本编辑器summernote的实现步骤
May 31 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
怎么在Windows系统中搭建php环境
2013/08/31 PHP
ThinkPHP分页类使用详解
2014/03/05 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
PHP设计模式之简单投诉页面实例
2016/02/24 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
2016/11/25 PHP
微信小程序 消息推送php服务器验证实例详解
2017/03/30 PHP
Bookmarklet实现启动jQuery(模仿 云输入法)
2010/09/15 Javascript
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
jQuery中的pushStack实现原理和应用实例
2015/02/03 Javascript
NodeJS使用jQuery选择器操作DOM
2015/02/13 NodeJs
js实现浏览本地文件并显示扩展名的方法
2015/08/17 Javascript
三种AngularJS中获取数据源的方式
2016/02/02 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
Vue2.0表单校验组件vee-validate的使用详解
2017/05/02 Javascript
js技巧之十几行的代码实现vue.watch代码
2018/06/09 Javascript
jQuery实现聊天对话框
2020/02/08 jQuery
Vue使用vue-draggable 插件在不同列表之间拖拽功能
2020/03/12 Javascript
vue-quill-editor的使用及个性化定制操作
2020/08/04 Javascript
JS实现拖动模糊框特效
2020/08/25 Javascript
如何编写一个 Webpack Loader的实现
2020/10/18 Javascript
Python内置数据类型详解
2014/08/18 Python
Python中的数学运算操作符使用进阶
2016/06/20 Python
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
2017/08/18 Python
深入了解和应用Python 装饰器 @decorator
2019/04/02 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
python中rb含义理解
2020/06/18 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
2020/12/15 Python
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
介绍一下Java的安全机制
2012/06/28 面试题
理发店策划方案
2014/06/05 职场文书
2015年语文教学工作总结
2015/05/25 职场文书
python基于tkinter制作下班倒计时工具
2021/04/28 Python
Java 常见的限流算法详细分析并实现
2022/04/07 Java/Android