python脚本执行CMD命令并返回结果的例子


Posted in Python onAugust 14, 2019

最近写脚本的时想要用python直接在脚本中去执行cmd命令,并且将返回值打印出来供下面调用,所以特意查了下,发现主要有一下几种方式来实现,很简单:

就拿执行adb, adb shell, adb devices 举例

1.第一种方法 os 模块的 os.sysytem()

import os

os.system('adb)

执行括号中系统命令,没有返回值

2.第二种方法:os模块的 os.popen()

if __name__=='__main__':
 import os 
 a = os.popen('adb')
 #此时打开的a是一个对象,如果直接打印的话是对象内存地址
 
 text = a.read()
 #要用read()方法读取后才是文本对象
 
 print(text)
 
 a.close()#打印后还需将对象关闭
 
 #下面执行adb devices同理
 b = os.popen('adb devices')
 text2 = b.read()
 print(text2)
 b.close()

下面是第二种方法的打印结果:

#adb返回的结果:
 
Android Debug Bridge version 1.0.40
Version 4986621
Installed as D:\androidsdk\platform-tools\adb.exe
 
global options:
 -a   listen on all network interfaces, not just localhost
 -d   use USB device (error if multiple devices connected)
 -e   use TCP/IP device (error if multiple TCP/IP devices available)
 -s SERIAL use device with given serial (overrides $ANDROID_SERIAL)
 -t ID  use device with given transport id
 -H   name of adb server host [default=localhost]
 -P   port of adb server [default=5037]
 -L SOCKET listen on given socket for adb server [default=tcp:localhost:5037]
 
general commands:
 devices [-l]    list connected devices (-l for long output)
 help      show this help message
 version     show version num
 
 
#adb devices 返回的结果:
List of devices attached
740dc3d1 device

未完待续....

以下内容为2019年5月更新

os.popen方法较os.system()而言是获取控制台输出的内容,那就用os.popen的方法了,popen返回的是一个file对象,跟open打开文件一样操作了,r是以读的方式打开,今天把写法优化了一下:

# coding:utf-8
import os
 
# popen返回文件对象,跟open操作一样
with os.popen(r'adb devices', 'r') as f:
 text = f.read()
print(text) # 打印cmd输出结果
 
# 输出结果字符串处理
s = text.split("\n") # 切割换行
result = [x for x in s if x != ''] # 列生成式去掉空
print(result)
 
# 可能有多个手机设备
devices = [] # 获取设备名称
for i in result:
 dev = i .split("\tdevice")
 if len(dev) >= 2:
  devices.append(dev[0])
 
if not devices:
 print('当前设备未连接上')
else:
 print('当前连接设备:%s' % devices)

控制台输出如下:

python脚本执行CMD命令并返回结果的例子

以上这篇python脚本执行CMD命令并返回结果的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 自动补全(vim)
Nov 30 Python
搭建Python的Django框架环境并建立和运行第一个App的教程
Jul 02 Python
遗传算法python版
Mar 19 Python
基于Python中numpy数组的合并实例讲解
Apr 04 Python
Python实现端口检测的方法
Jul 24 Python
nohup后台启动Python脚本,log不刷新的解决方法
Jan 14 Python
python求加权平均值的实例(附纯python写法)
Aug 22 Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
Nov 06 Python
pytorch ImageFolder的覆写实例
Feb 20 Python
python 回溯法模板详解
Feb 26 Python
Python json读写方式和字典相互转化
Apr 18 Python
python实现大文本文件分割成多个小文件
Apr 20 Python
用Python调用win命令行提高工作效率的实例
Aug 14 #Python
python基础教程之while循环
Aug 14 #Python
Python 实例方法、类方法、静态方法的区别与作用
Aug 14 #Python
Python学习笔记之Break和Continue用法分析
Aug 14 #Python
Python学习笔记之While循环用法分析
Aug 14 #Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
Aug 14 #Python
Python学习笔记之For循环用法详解
Aug 14 #Python
You might like
PHP脚本的10个技巧(3)
2006/10/09 PHP
帝国cms常用标签汇总
2015/07/06 PHP
Yii2 RESTful中api的使用及开发实例详解
2016/07/06 PHP
CSS+JS构建的图片查看器
2006/07/22 Javascript
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
JQuery实现鼠标滑过显示导航下拉列表
2013/09/12 Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
2013/12/11 Javascript
浅析javascript的间隔调用和延时调用
2014/11/12 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
2016/12/28 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
Cropper.js 实现裁剪图片并上传(PC端)
2017/08/20 Javascript
vue 点击按钮实现动态挂载子组件的方法
2018/09/07 Javascript
vue + any-touch实现一个iscroll 实现拖拽和滑动动画效果
2019/04/08 Javascript
Echarts实现多条折线可拖拽效果
2019/12/19 Javascript
Python函数参数类型*、**的区别
2015/04/11 Python
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
Python选课系统开发程序
2016/09/02 Python
python处理Excel xlrd的简单使用
2017/09/12 Python
Numpy中的mask的使用
2018/07/21 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
2020/02/28 Python
python轮询机制控制led实例
2020/05/03 Python
基于Python3读写INI配置文件过程解析
2020/07/23 Python
全球最大运动品牌的男装、女装和童装官方库存商:A&A Sports
2021/01/17 全球购物
九年级英语教学反思
2014/01/31 职场文书
餐饮收银员岗位职责
2014/02/07 职场文书
自我鉴定书
2014/03/24 职场文书
新年主持词
2014/03/27 职场文书
汉语言文学专业自荐信
2014/06/11 职场文书
职业道德模范事迹材料
2014/08/24 职场文书
2014年租房协议书范本
2014/10/30 职场文书
经济纠纷起诉状
2015/05/20 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
MySQL 逻辑备份与恢复测试的相关总结
2021/05/14 MySQL
OpenCV-Python实现人脸磨皮算法
2021/06/07 Python