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 相关文章推荐
linux系统使用python监控apache服务器进程脚本分享
Jan 15 Python
python网络编程学习笔记(三):socket网络服务器
Jun 09 Python
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
Nov 18 Python
MySQL中表的复制以及大型数据表的备份教程
Nov 25 Python
Python异常对代码运行性能的影响实例解析
Feb 08 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
Feb 23 Python
Django上线部署之IIS的配置方法
Aug 22 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
Oct 12 Python
基于python操作ES实例详解
Nov 16 Python
Django如何重置migration的几种情景
Feb 24 Python
Python中的变量与常量
Nov 11 Python
python疲劳驾驶困倦低头检测功能的实现
Apr 04 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生成静态页面详解
2006/12/05 PHP
PHP逐行输出(ob_flush与flush的组合)
2012/02/04 PHP
浅谈discuz密码加密的方式
2014/05/22 PHP
php生成gif动画的方法
2015/11/05 PHP
Composer设置忽略版本匹配的方法
2016/04/27 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
JS 控制非法字符的输入代码
2009/12/04 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
2012/01/15 Javascript
解析Javascript中大括号“{}”的多义性
2013/12/02 Javascript
javascript中的return和闭包函数浅析
2014/06/06 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
Javascript实现获取窗口的大小和位置代码分享
2014/12/04 Javascript
highcharts 在angular中的使用示例代码
2017/09/20 Javascript
seajs中模块依赖的加载处理实例分析
2017/10/10 Javascript
vue接口请求加密实例
2020/08/11 Javascript
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
[45:50]完美世界DOTA2联赛PWL S3 CPG vs Forest 第二场 12.16
2020/12/17 DOTA
讲解Python中的标识运算符
2015/05/14 Python
Python实现动态图解析、合成与倒放
2018/01/18 Python
python实现图片中文字分割效果
2019/07/22 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
2020/04/30 Python
Python基于network模块制作电影人物关系图
2020/06/19 Python
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
俄罗斯名牌服装网上商店:UNIQUE FABRIC
2019/07/25 全球购物
介绍下Java的输入输出流
2014/01/22 面试题
路由表示做什么用的?在linux环境中怎么来配置一条默认路由?
2013/06/07 面试题
行政管理人员精品工作推荐信
2013/11/04 职场文书
婚前协议书范本
2014/04/15 职场文书
教师一岗双责责任书
2014/04/16 职场文书
民警群众路线教育实践活动对照检查材料
2014/10/04 职场文书
个人合伙协议书范本
2014/10/14 职场文书
员工离职通知函
2015/04/25 职场文书
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
Python中三种花式打印的示例详解
2022/03/19 Python
MySQL实现配置主从复制项目实践
2022/03/31 MySQL