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

  1. python执行cmd并返回是否成功_python脚本执行CMD命令并返回结果的例子

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

  2. python脚本执行CMD命令并返回结果

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

  3. java执行cmd命令,返回结果中文乱码问题解决

    java执行cmd命令,返回结果中文乱码问题解决 参考文章: (1)java执行cmd命令,返回结果中文乱码问题解决 (2)https://www.cnblogs.com/kwaitfort/p/90 ...

  4. python 调用控制台并获取返回结果_Java调用Python脚本并获取返回值

    在Java程序中有时需要调用Python的程序,这时可以使用一般的PyFunction来调用python的函数并获得返回值,但是采用这种方法有可能出现一些莫名其妙的错误,比如ImportError.在 ...

  5. python调用api接口获取天气数据_python 接口实战--天气API

    1.接口地址: 网页请求: 将结果拷贝到bjson中,格式化为json的格式. 在python中实现天气测试,代码实现. import requests    导入requests库 from url ...

  6. python 命令-python执行cmd命令

    我们在做手机端自动化的时候有时候可能会遇到需要执行cmd命令完成用例,我们一起学习下,通过python脚本执行cmd命令 cmd是什么 cmd是command的缩写.即命令提示行(CMD),是在OS ...

  7. c#执行cmd命令并获取返回结果字符串

    全栈工程师开发手册 (作者:栾鹏) c#教程全解 c#执行cmd命令并获取返回结果字符串 测试代码 static void Main() {string back=execCMD("ipco ...

  8. java执行cmd命令并获取返回结果字符串

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java执行cmd命令并获取返回结果字符串 测试代码 public static void main(String[] args) {String ...

  9. python发送cmd命令_用Python 执行cmd命令

    我们通常可以使用os模块的命令进行执行cmd 方法一:os.system os.system(执行的命令) # 源码 def system(*args, **kwargs): # real signa ...

最新文章

  1. 【机器学习基础】Python机器学习入门指南(全)
  2. Java常用系统变量收集
  3. leetcode 743. Network Delay Time | 743. 网络延迟时间(邻接矩阵,Dijkstra 算法)
  4. python高斯求和_二、算法分析
  5. dnSpy 强大的.Net反编译软件
  6. struts+hibernate+oracle+easyui实现lazyout组件的简单案例——工具类
  7. 串口数据字节位的理解
  8. t3s java_关于JAVA的this关键字
  9. 10-2-文章分页展示
  10. pku 1151 (简单离散化求矩形覆盖总面积)
  11. windows下把文件压缩成tar.gz格式
  12. 探究requestDisallowInterceptTouchEvent失效的原因
  13. 【软件测试】测试用例详解
  14. Java获取姓名的首字母_java获取中文拼音首字母的实例
  15. pigxCloud微服务项目04——服务端——腾讯云即时通信IM,拉取群历史消息(全量消息、所有群消息)
  16. 修改Java文件不用重启Tomcat服务
  17. android tv 卸载应用市场,怎么卸载电视自带软件 如何删除电视内置软件应用
  18. html transition属性,Transition属性详解
  19. app渗透测试环境搭建(夜神安卓模拟器)
  20. debconf_Starbound的开源游戏开发,DebConf上的SteamOS等

热门文章

  1. VB案例:多功能文本处理器
  2. 【hiho挑战赛24 ABC】贪心和期望dp惨烈的后缀自动机
  3. 【codevs2421】【BZOJ1858】序列操作,线段树
  4. 2017.9.21 紧急集合 思考记录
  5. 2017.9.7 翻硬币 失败总结
  6. 【Level 08】U05 Better option L6 Informative posts
  7. Django中使用Celery(附赠代码)
  8. 五分钟快速入门 Spring Data JPA
  9. 二维高斯曲面拟合法求取光斑中心及算法的C++实现
  10. 光线跟踪的几种常见求交运算