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发送Email方法实例
Aug 21 Python
Python基于Floyd算法求解最短路径距离问题实例详解
May 16 Python
python中scikit-learn机器代码实例
Aug 05 Python
Python 面试中 8 个必考问题
Nov 16 Python
Python 监测文件是否更新的方法
Jun 10 Python
在PyTorch中Tensor的查找和筛选例子
Aug 18 Python
Python定时发送天气预报邮件代码实例
Sep 09 Python
Python logging自定义字段输出及打印颜色
Nov 30 Python
PyQt5通过信号实现MVC的示例
Feb 06 Python
基于tensorflow __init__、build 和call的使用小结
Feb 26 Python
python解析json数据
Apr 29 Python
Python中使用tkFileDialog实现文件选择、保存和路径选择
May 20 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代码
2007/03/08 PHP
基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
2013/05/15 PHP
PHP中include与require使用方法区别详解
2013/10/19 PHP
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
php实现获取近几日、月时间示例
2019/07/06 PHP
laravel请求参数校验方法
2019/10/10 PHP
Yii框架应用组件用法实例分析
2020/05/15 PHP
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
JavaScript学习笔记之DOM基础 2.4
2015/08/14 Javascript
js实现简单的省市县三级联动效果实例
2016/02/18 Javascript
jQuery图片加载显示loading效果
2016/11/04 Javascript
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
Vue+Element使用富文本编辑器的示例代码
2017/08/14 Javascript
js使用highlight.js高亮你的代码
2017/08/18 Javascript
用JS编写一个函数,返回数组中重复出现过的元素(实例)
2017/09/14 Javascript
微信小程序 scroll-view实现锚点滑动的示例
2017/12/06 Javascript
Python yield 小结和实例
2014/04/25 Python
使用Python实现一个简单的项目监控
2015/03/31 Python
Python中的异常处理相关语句基础学习笔记
2016/07/11 Python
Python Socket编程之多线程聊天室
2018/07/28 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
Python如何在windows环境安装pip及rarfile
2020/06/15 Python
Python selenium键盘鼠标事件实现过程详解
2020/07/28 Python
国际化的太阳镜及太阳镜配件零售商:Sunglass Hut
2016/07/26 全球购物
Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
2015/08/04 面试题
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
表扬信格式
2014/01/12 职场文书
班主任工作经验材料
2014/02/02 职场文书
村容村貌整治方案
2014/05/21 职场文书
结婚幸福感言
2015/08/01 职场文书
生活委员竞选稿
2015/11/21 职场文书
浅谈pytorch中的dropout的概率p
2021/05/27 Python