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中使用Flask、MongoDB搭建简易图片服务器
Feb 04 Python
python批量提取word内信息
Aug 09 Python
python 线程的暂停, 恢复, 退出详解及实例
Dec 06 Python
Python编程实现二分法和牛顿迭代法求平方根代码
Dec 04 Python
python通过getopt模块如何获取执行的命令参数详解
Dec 29 Python
目前最全的python的就业方向
Jun 05 Python
Django添加sitemap的方法示例
Aug 06 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
Nov 06 Python
Python 给屏幕打印信息加上颜色的实现方法
Apr 24 Python
详解Matplotlib绘图之属性设置
Aug 23 Python
python speech模块的使用方法
Sep 09 Python
Pandas加速代码之避免使用for循环
May 30 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
ThinkPHP采用原生query实现关联查询left join实例
2014/12/02 PHP
php生出随机字符串
2017/07/06 PHP
基于PHP实现栈数据结构和括号匹配算法示例
2017/08/10 PHP
Nigma vs AM BO3 第二场2.13
2021/03/10 DOTA
showModelessDialog()使用详解
2006/09/07 Javascript
用javascript getComputedStyle获取和设置style的原理
2008/10/10 Javascript
IE浏览器打印的页眉页脚设置解决方法
2009/12/08 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
jquery实现动态改变div宽度和高度
2015/05/08 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
Knockoutjs 学习系列(二)花式捆绑
2016/06/07 Javascript
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
JavaScript实现随机数生成器(去重)
2017/10/13 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
2019/12/06 Javascript
jquery制作的移动端购物车效果完整示例
2020/02/24 jQuery
将Vue组件库更换为按需加载的方法步骤
2020/05/06 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
Python中使用item()方法遍历字典的例子
2014/08/26 Python
Python中的闭包总结
2014/09/18 Python
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
python 垃圾收集机制的实例详解
2017/08/20 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
Pytorch 定义MyDatasets实现多通道分别输入不同数据方式
2020/01/15 Python
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
党支部公开承诺践诺书
2014/03/28 职场文书
食品工程专业求职信
2014/06/15 职场文书
辞旧迎新演讲稿
2014/09/15 职场文书
学生不参加考试检讨书
2015/02/19 职场文书
结婚仪式主持词
2015/06/29 职场文书
团结主题班会
2015/08/13 职场文书
HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手
2021/05/10 HTML / CSS
利用Apache Common将java对象池化的问题
2022/06/16 Servers