正常的 os.system() 执行完后只会返回个执行状态值,返回的 0 表示执行成功,1 表示执行失败。
如果想要获取到执行后的结果集,就需要用到管道命令 os.popen(),然后用 read() 方法可以读到返回的结果。subprocess.Popen() 命令也可以获取返回的结果。

os.system() 方法获取命令返回结果演示:

# -*- coding: UTF8 -*-
import oscmd = os.popen('netstat -nao | findstr "%s"' % str("5003"))
print("读取cmd执行的结果为:\n" + cmd.read())

执行后效果图:

subprocess.Popen() 方法获取命令返回结果演示:

# -*- coding: UTF8 -*-
import subprocesscmd_order = 'netstat -nao | findstr "%s"' % str("5003")
cmd_p = subprocess.Popen(cmd_order, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
cmd_result = ""
for i in cmd_p.stdout.readlines():cmd_result += i.decode();
print("读取cmd执行的结果为:\n\n" + cmd_result)


喜欢的点个赞❤吧!

Python 技术篇-通过管道命令获取cmd执行的结果,获取os.system()、subprocess.Popen()执行命令返回的结果相关推荐

  1. Python执行系统命令的方法 os.system(),os.popen(),commands

    最近在做那个测试框架的时候发现 Python 的另一个获得系统执行命令的返回值和输出的类. 最开始的时候用 Python 学会了 os.system() 这个方法是很多比如 C,Perl 相似的. o ...

  2. subprocess.Popen(执行命令)

    subprocess.Popen(arg, shell=True,cwd='path') arg是你执行的命令,可以是字符串,也可以是列表/元组,如果 args 是字符串,它将作为命令行字符串通过sh ...

  3. 命令(CMD)终端的清屏(清除/清空)命令/快捷键

    Windows CMD 或者 Navicat 命令窗口的清屏命令:Clear 或者 CLS MacBook 命令终端的清屏命令/快捷键:Ctrl+Cmd+L(清除屏幕) ,Cmd+K(清除到开头),C ...

  4. windows获取cmd回显以及获取路径

    @echo off echo 当前盘符:%~d0 echo 当前盘符和路径:%~dp0 echo 当前批处理全路径:%~f0 echo 当前盘符和路径的短文件名格式:%~sdp0 echo 当前CMD ...

  5. python执行系统命令后获取返回值的几种方式集合

    第一种情况 os.system('ps aux') 执行系统命令,没有返回值 第二种情况 result = os.popen('ps aux') res = result.read() for lin ...

  6. python3中使用subprocess模块执行外部命令

    一. subprocess模块介绍 subprocess模块可以替代os模块下的os.system和os.popen等操作方法 subprocess模块在python2和python3上的使用上有一定 ...

  7. python3使用subprocess_python3中使用subprocess模块执行外部命令

    一. subprocess模块介绍 1. subprocess模块可以替代os模块下的os.system和os.popen等操作方法 2. subprocess模块在python2和python3上的 ...

  8. python subprocess库 终端命令行命令

    python subprocess subprocess 模块允许我们启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值. 具体看官方文档 https://docs.python.or ...

  9. 利用cmd执行adb(os.popen、os.system)

    自动化测试时难免需要执行adb语句对手机进行操作,大概有以下五种方法可以调用: os.system(): d = os.system("adb devices") print(d) ...

最新文章

  1. oracle更新快捷方式的错误,oracle 11g数据库启动错误总结
  2. 常用sql-----DDL语句
  3. 【GVA】gin gorm多对多many2many更新数据时级联更新关联表数据的正确写法
  4. 表格存储TableStore全新升级,打造统一的在线数据存储平台!
  5. Linux能适应不同的指令集,(转)linux常用指令集
  6. js基础-17-解析url的函数,字符串出现的次数最多,并统计它出现几次
  7. 【数字电子技术课程设计】多功能数字电子钟的设计
  8. CAD专用卸载修复工具,一键完全彻底卸载删除CAD软件的专用卸载工具
  9. OpenCV角点检测—Harris,SIFT,ORB(7)
  10. python中的get用法
  11. Vscode Opencv4.5.2环境搭建
  12. python中float和double有什么区别_关于C++:float和double的区别是什么?
  13. java发送邮件问题
  14. C语言无符号数与有符号数的运算原则
  15. 编写跨平台Java程序注意事项
  16. 《互联网理财一册通》一一1.3 开通网上银行
  17. iOS系统神奇app,别以为你穿了马甲我就找不到你了
  18. 华为鸿蒙系统概念图,华为Mate40Pro概念图:超高屏占比+鸿蒙系统 这才是真正的华为...
  19. Github标星5.3K,进阶学习工作最全指南
  20. java工程加包_向java工程添加jar包

热门文章

  1. js ==与=== 的区别
  2. UTF-8 BOM
  3. Hibernate悲观锁/乐观锁
  4. java怎么来用urlrewrite伪静态化和urlrewrite的配置
  5. JavaScript操作文件(2)
  6. PHP Warning: Xdebug MUST be loaded as a Zend extension
  7. 修改android4.0的鼠标箭头图标(方法)
  8. Oracle PL/SQL匿名块
  9. yii框架相关知识(转)
  10. win7(x64)安装oracle 10g 32位的方法