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正则表达式匹配ip地址实例
Oct 09 Python
python如何使用unittest测试接口
Apr 04 Python
Python实现简单http服务器
Apr 12 Python
Python列表解析配合if else的方法
Jun 23 Python
python使用PIL给图片添加文字生成海报示例
Aug 17 Python
Python import与from import使用及区别介绍
Sep 06 Python
Python的matplotlib绘图如何修改背景颜色的实现
Jul 16 Python
Python完成哈夫曼树编码过程及原理详解
Jul 29 Python
基于python3监控服务器状态进行邮件报警
Oct 19 Python
python中shell执行知识点
May 06 Python
用pip给python安装matplotlib库的详细教程
Feb 24 Python
用python画城市轮播地图
May 28 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中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
2012/11/01 PHP
深入php常用函数的使用汇总
2013/06/08 PHP
一个PHP针对数字的加密解密类
2014/03/20 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
2016/10/08 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
PHP校验15位和18位身份证号的类封装
2018/11/07 PHP
一个JavaScript变量声明的知识点
2013/10/28 Javascript
jquery使用淘宝接口跨域查询手机号码归属地实例
2013/11/28 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
2014/05/04 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
2016/05/03 Javascript
jQuery 更改checkbox的状态,无效的解决方法
2016/07/22 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
关于express与koa的使用对比详解
2018/01/25 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
vue select 获取value和lable操作
2020/08/28 Javascript
Nuxt pages下不同的页面对应layout下的页面布局操作
2020/11/05 Javascript
Python中使用支持向量机(SVM)算法
2017/12/26 Python
python中cPickle类使用方法详解
2018/08/27 Python
pandas求两个表格不相交的集合方法
2018/12/08 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
2020/03/18 Python
jupyter notebook参数化运行python方式
2020/04/10 Python
python的链表基础知识点
2020/09/13 Python
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
联想印度官方网上商店:Lenovo India
2019/08/24 全球购物
MUGLER官方网站:蒂埃里·穆勒香水
2019/11/26 全球购物
大学在校生求职信范文
2013/11/21 职场文书
幼儿园课题方案
2014/06/09 职场文书
领导干部个人整改措施落实情况汇报
2014/10/29 职场文书
七一建党节慰问信
2015/02/14 职场文书
作息时间调整通知
2015/04/22 职场文书
招商银行工作证明
2015/06/17 职场文书