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 Web框架Pylons中使用MongoDB的例子
Dec 03 Python
Python统计列表中的重复项出现的次数的方法
Aug 18 Python
用Python进行基础的函数式编程的教程
Mar 31 Python
python实现批量监控网站
Sep 09 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
Apr 11 Python
Python通过future处理并发问题
Oct 17 Python
Python3模拟curl发送post请求操作示例
May 03 Python
python turtle 绘制太极图的实例
Dec 18 Python
python连接PostgreSQL过程解析
Feb 09 Python
Python小整数对象池和字符串intern实例解析
Mar 21 Python
Python如何定义接口和抽象类
Jul 28 Python
分析Python list操作为什么会错误
Nov 17 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中intval()等int转换时的意外异常情况
2013/06/21 PHP
php动态读取数据清除最右边距的方法
2017/04/12 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
EasyUI 中 MenuButton 的使用方法
2012/07/14 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
javascript移动开发中touch触摸事件详解
2016/03/18 Javascript
如何学JavaScript?前辈的经验之谈
2016/12/28 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
2017/07/13 Javascript
前端主流框架vue学习笔记第二篇
2017/07/26 Javascript
记React connect的几种写法(小结)
2018/09/18 Javascript
vue 组件开发原理与实现方法详解
2019/11/29 Javascript
微信小程序服务器日期格式化问题
2020/01/07 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
js实现简单音乐播放器
2020/06/30 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
jquery实现加载更多"转圈圈"效果(示例代码)
2020/11/09 jQuery
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
2019/01/14 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
使用python实现微信小程序自动签到功能
2020/04/27 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
联想新加坡官方网站:Lenovo Singapore
2017/10/24 全球购物
伦敦剧院门票:London Theatre Direct
2018/11/21 全球购物
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
2013/09/10 面试题
大学生最常用的自我评价
2013/12/07 职场文书
计算机专业职业生涯规划范文
2014/01/19 职场文书
大学生简历求职信
2014/06/24 职场文书
小学中队长竞选稿
2015/11/20 职场文书
《丑小鸭》教学反思
2016/02/19 职场文书
IDEA使用SpringAssistant插件创建SpringCloud项目
2021/06/23 Java/Android
MySQL系列之一 MariaDB-server安装
2021/07/02 MySQL
Python中使用tkFileDialog实现文件选择、保存和路径选择
2022/05/20 Python
Mysql数据库group by原理详解
2022/07/07 MySQL
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS