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的Django框架中用流响应生成CSV文件的教程
May 02 Python
Go语言基于Socket编写服务器端与客户端通信的实例
Feb 19 Python
Python函数any()和all()的用法及区别介绍
Sep 14 Python
python实现微信小程序用户登录、模板推送
Aug 28 Python
Python实现生成密码字典的方法示例
Sep 02 Python
python创建ArcGIS shape文件的实现
Dec 06 Python
python paramiko远程服务器终端操作过程解析
Dec 14 Python
python numpy--数组的组合和分割实例
Feb 24 Python
python利用Excel读取和存储测试数据完成接口自动化教程
Apr 30 Python
给keras层命名,并提取中间层输出值,保存到文档的实例
May 23 Python
Python decimal模块使用方法详解
Jun 08 Python
keras 指定程序在某块卡上训练实例
Jun 22 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_SELF,SCRIPT_NAME,REQUEST_URI区别
2014/12/24 PHP
javascript 最常用的10个自定义函数[推荐]
2009/12/26 Javascript
基于jquery完美拖拽,可返回拖动轨迹
2012/03/29 Javascript
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
2012/10/11 Javascript
js显示时间 js显示最后修改时间
2013/01/02 Javascript
JavaScript中的noscript元素属性位置及作用介绍
2013/04/11 Javascript
将json当数据库一样操作的javascript lib
2013/10/28 Javascript
jQuery中delegate与on的用法与区别示例介绍
2013/12/20 Javascript
js获取页面description的方法
2015/05/21 Javascript
jquery实现点击展开列表同时隐藏其他列表
2015/08/10 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
2016/05/09 Javascript
原生 JS Ajax,GET和POST 请求实例代码
2016/06/08 Javascript
AngularJS中的包含详细介绍及实现示例
2016/07/28 Javascript
Bootstrap中表单控件状态(验证状态)
2016/08/04 Javascript
WebPack基础知识详解
2017/01/16 Javascript
vue如何引用其他组件(css和js)
2017/04/13 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
关于你不想知道的所有Python3 unicode特性
2014/11/28 Python
python实现的jpg格式图片修复代码
2015/04/21 Python
Python实现给qq邮箱发送邮件的方法
2015/05/28 Python
python的mysqldb安装步骤详解
2017/08/14 Python
Python使用struct处理二进制的实例详解
2017/09/11 Python
Python rstrip()方法实例详解
2018/11/11 Python
PyCharm2019 安装和配置教程详解附激活码
2020/07/31 Python
python 如何调用 dubbo 接口
2020/09/24 Python
如何实现一个python函数装饰器(Decorator)
2020/10/12 Python
Python实现中英文全文搜索的示例
2020/12/04 Python
HTML5中Localstorage的使用教程
2015/07/09 HTML / CSS
车间副主任岗位职责
2013/12/24 职场文书
大学军训通讯稿
2014/01/13 职场文书
巧克力蛋糕店创业计划书
2014/01/14 职场文书
财务学生的职业生涯发展
2014/02/11 职场文书
三严三实民主生活会发言稿
2014/10/13 职场文书
一年级班主任工作总结2014
2014/11/08 职场文书
Go语言实现Snowflake雪花算法
2021/06/08 Golang
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript