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通过openpyxl生成Excel文件的方法
May 12 Python
一波神奇的Python语句、函数与方法的使用技巧总结
Dec 08 Python
python生成二维码的实例详解
Oct 29 Python
Python xlwt设置excel单元格字体及格式
Apr 18 Python
利用numpy和pandas处理csv文件中的时间方法
Apr 19 Python
Python基础教程之if判断,while循环,循环嵌套
Apr 25 Python
基于numpy中的expand_dims函数用法
Dec 18 Python
PyCharm使用之配置SSH Interpreter的方法步骤
Dec 26 Python
Pytorch 实现数据集自定义读取
Jan 18 Python
Python3 filecmp模块测试比较文件原理解析
Mar 23 Python
Python批量删除mysql中千万级大量数据的脚本分享
Dec 03 Python
使用Pytorch实现two-head(多输出)模型的操作
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
德生PL990,目前市面上唯一一款便携式插卡蓝牙全波段高性能收音机
2021/03/02 无线电
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
PHP使用Mysql事务实例解析
2014/09/08 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
全新Mac配置PHP开发环境教程
2016/02/03 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
Yii框架中用response保存cookie,用request读取cookie的原理解析
2019/09/04 PHP
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
第十章之巨幕页头缩略图与警告框组件
2016/04/25 Javascript
AngularJS入门教程之路由与多视图详解
2016/08/19 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
2017/03/21 Javascript
js实现rem自动匹配计算font-size的示例
2017/11/18 Javascript
JS 实现微信扫一扫功能
2018/09/14 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
2019/05/28 Javascript
[02:11]完美世界DOTA2联赛10月28日赛事精彩集锦:来吧展示实力强劲
2020/10/29 DOTA
[52:32]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第三场 11.18
2020/11/18 DOTA
Python中的异常处理学习笔记
2015/01/28 Python
Python与Java间Socket通信实例代码
2017/03/06 Python
解决python3中自定义wsgi函数,make_server函数报错的问题
2017/11/21 Python
Python3结合Dlib实现人脸识别和剪切
2018/01/24 Python
Python实现决策树C4.5算法的示例
2018/05/30 Python
Python 给某个文件名添加时间戳的方法
2018/10/16 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
Python上下文管理器全实例详解
2019/11/12 Python
kafka-python 获取topic lag值方式
2019/12/23 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
基于Html5 canvas实现裁剪图片和马赛克功能及又拍云上传图片 功能
2019/07/09 HTML / CSS
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
几个Linux面试题笔试题
2012/12/01 面试题
职业培训师职业生涯规划
2014/02/18 职场文书
表决心的诗句大全
2014/03/11 职场文书
python如何查找列表中元素的位置
2022/05/30 Python