最近写脚本的时想要用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脚本执行CMD命令并返回结果的例子相关推荐

  1. python unittest执行程序在pycharm可以成功运行但使用cmd会报错:E列表 test_register (unittest.loader._FailedTest)

    python unittest执行程序在pycharm可以成功运行但使用cmd会报错 如题,在pycharm中执行主程序运行成功: 用例執行.debug日志均沒問題 在cmd执行主程序报错: 最惡心的 ...

  2. python 调用控制台并获取返回结果_python脚本执行CMD命令并返回结果的例子

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

  3. python获取文件后运行不了_Python文件执行后一闪而过的解决方案

    通过前端时间的学习,我们现在已经学会了 1:安装Python软件 2:配置Python环境变量 3:新建一个python文件 4:在cmd模式下python安装目录下执行一个python文件 5:在c ...

  4. python语言程序的运行方式是什么_python源程序执行的方式有什么

    python源程序执行的方式有:1.在命令行输入ipython或ipython3进入交互式shell环境:2.在命令行窗口输入python[官方的shell]:3.集成开发环境,PyCharm类似ID ...

  5. kettle脚本Linux执行,kettle在linux下面用于shell脚本执行:转换或者作业

    1 将windows下面创建好的转换,放到Linux某一个文件夹下面.如:把0816_em.ktr文件放到/home/cfj/kettle/testdemo下面. 注意里面的数据库用户名和密码可能需要 ...

  6. python如何批量下载邮箱全部附件_Python编写执行测试用例及定时自动发送最新测试报告邮件...

    环境准备: 操作系统:Windows7 集成开发环境:eclipse+pydev 一.编写测试用例 可以直接使用Python自带的单元测试框架unittest来编写自动化测试用例,利用其组织测试用例, ...

  7. python中 ab c 2结果是_python解释器执行'{0},{2},{1}'.format('a','b','c')的结果为( )。_学小易找答案...

    [单选题]现有列表l=[1,2,3,4,5,6,7,8,9,0],那么python3解释器执行l[1:3]='abc'后执行 l[2]的结果是 [单选题]在python中,字符串s = 'abc',那 ...

  8. python 提交表单登录不成功_Python http requests模拟登录与提交表单的实现问题

    以前写小应用只写过简单的http请求,最近有一些需要复杂的实现,遇到一些问题,还希望得到大家指点. 我的疑问点在于如何实现模拟登录,cookie应该可以实现,但是每台pc的cookie不同,我想有一个 ...

  9. python 读png的值变了_python – 为什么scipy.ndimage.io.imread返回PngImageFile,而不是值数组...

    您可能有一个不完整的Python成像库(PIL)安装,SciPy依赖它来读取图像. PIL依赖于libjpeg加载JPEG图像和libz来加载PNG图像,但是可以在没有任何图像的情况下安装(在这种情况 ...

最新文章

  1. Linux 下的五种 IO 模型
  2. 【linux】查看内存使用情况
  3. qt 调用qpainter_在Qt5.4中如何实现QOpenGLWidget和QPainter混合编程
  4. lg函数c语言表达式,lgammal - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
  5. Android 隐藏、显示软键盘方法
  6. topcoder srm 686 div1 -3
  7. 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(济南)(热身赛)
  8. 一本通1628X-factor Chain
  9. 机器学习中的矩阵分析与应用
  10. oppo,ofp格式解包工具.Unpack ofp oppo手机,ofp线刷包解包教程
  11. wmic java_wmic 命令用法及实例
  12. 杭州师范大学计算机科学与技术怎么样,杭州师范大学2020年本科专业录取分数大排名,计算机类专业最低...
  13. 基于jsp+mysql+Spring+SpringMVC+mybatis的高速公路收费管理系统
  14. 大学该不该开python教学_#51CTO学院四周年# python学习感受和一些愚见
  15. ih5长图如何滑动_iH5中级教程微场景H5必备,滑动时间轴+轨迹.doc
  16. var 和int定义变量的问题【C#】
  17. 积累小结-无法将文件”obj\debug\XXX.dll复制到“bin\Debug\XXX.dll” 拒绝访问
  18. java学习-画图小程序
  19. 整理Cocos2d-x 面试题解
  20. 【Runge-Kutta】龙格-库塔法求解微分方程matlab仿真

热门文章

  1. linux拷贝文件夹怎么删除,linux文件及文件夹拷贝移动删除
  2. oracle 脚本命令集合,Oracle命令行模式,批量执行SQL脚本
  3. 《喜剧之王》- 24/7 - Cagnet
  4. 从CMDB动态获取服务器列表,按照Ansible的约定
  5. Linux文件基本操作管理
  6. nginx websocket proxy
  7. C++:友元(非成员友元函数、成员友元函数、友元类)
  8. 核心动画03-图标抖动.mp4
  9. 安卓手机的加密设备和加密外置SD卡
  10. 牛客网(剑指offer) 第七题 斐波那契数列