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赋值操作方法分享
Mar 23 Python
python实现获取客户机上指定文件并传输到服务器的方法
Mar 16 Python
python简单判断序列是否为空的方法
Jun 30 Python
python使用正则表达式的search()函数实现指定位置搜索功能
Nov 10 Python
Python方法的延迟加载的示例代码
Dec 18 Python
从django的中间件直接返回请求的方法
May 30 Python
使用Django连接Mysql数据库步骤
Jan 15 Python
PageFactory设计模式基于python实现
Apr 14 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
Jun 01 Python
opencv 查找连通区域 最大面积实例
Jun 04 Python
使用OpenCV校准鱼眼镜头的方法
Nov 26 Python
Numpy ndarray 多维数组对象的使用
Feb 10 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开发大型项目的一点经验
2006/10/09 PHP
基于mysql的bbs设计(三)
2006/10/09 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
2014/03/14 PHP
PHP的Trait机制原理与用法分析
2019/10/18 PHP
js每次Title显示不同的名言
2008/09/25 Javascript
jquery 多行文本框(textarea)高度变化
2013/07/03 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
2017/01/08 Javascript
微信小程序学习(4)-系统配置app.json详解
2017/01/12 Javascript
jQuery实现百度登录框的动态切换效果
2017/04/21 jQuery
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
2018/01/18 jQuery
JS随机数产生代码分享
2018/02/24 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
2018/05/16 Javascript
angular2实现统一的http请求头方法
2018/08/13 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
浅谈小程序globalData的那些事儿
2019/11/01 Javascript
JavaScript Array.flat()函数用法解析
2020/09/02 Javascript
Python装饰器使用实例:验证参数合法性
2015/06/24 Python
python 调用win32pai 操作cmd的方法
2017/05/28 Python
Python并发之多进程的方法实例代码
2018/08/15 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
2019/09/26 Python
TensorFlow实现保存训练模型为pd文件并恢复
2020/02/06 Python
python第三方库学习笔记
2020/02/07 Python
Python中logging日志库实例详解
2020/02/19 Python
统计每一学生的平均成绩
2014/06/06 面试题
linux比较文件内容的命令是什么
2015/09/23 面试题
建龙钢铁面试总结
2014/04/15 面试题
行政前台岗位职责
2013/12/04 职场文书
九月份红领巾广播稿
2014/01/22 职场文书
机械个人求职信范文
2014/01/24 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
劳资员岗位职责
2015/02/13 职场文书
员工工作表扬信
2015/05/05 职场文书
四则混合运算教学反思
2016/02/23 职场文书
Go 实现英尺和米的简单单位换算方式
2021/04/29 Golang
python程序的组织结构详解
2021/12/06 Python