这篇文章主要给大家分享在Python中执行cmd,下文描述了三个方法使用os.system()方法、使用os.popen()方法、使用subprocess.Popen(),需要的朋友可以参考一下

1、使用os.system()方法

os.system用来执行cmd指令,在cmd输出的内容会直接在控制台输出,返回结果为0表示执行成功。

示例代码:

# coding:utf-8import osos.system("ls")

PS:os.system()方法是简单粗暴的执行cmd指令,没有办法获取到cmd输出的内容。

PPS:os.system()方法在调用完shell脚本后,返回一个16位的二进制数,低位为杀死所调用脚本的信号号码,高位为脚本的退出状态码,即脚本中“exit 1”的代码执行后,os.system函数返回值的高位数则是1,如果低位数是0的情况下,则函数的返回值是0x0100,换算为十进制得到256。

2、使用os.popen()方法

os.popen()方法用于从一个命令打开一个管道。在Unix,Windows中有效。os.popen返回的是一个file对象,同open打开文件一样操作。

popen()方法语法格式如下:

os.popen(command[, mode[, bufsize]])

参数:

command – 使用的命令。
mode – 模式权限可以是 ‘r'(默认) 或 ‘w'。
bufsize – 指明了文件需要的缓冲大小:0意味着无缓冲;1意味着行缓冲;其它正值表示使用参数大小的缓冲(大概值,以字节为单位)。负的bufsize意味着使用系统的默认值,一般来说,对于tty设备,它是行缓冲;对于其它文件,它是全缓冲。如果没有改参数,使用系统的默认值。

示例代码:

# coding:utf-8import os# popen返回文件对象,同open操作一样
f = os.popen(r"ls", "r")l = f.read()
print(l)
f.close()

返回值是文件对象的推荐处理方法:

with os.popen(cmd, "r") as p:r = p.read()

使用它,不需要显式的写p.close()。

PS:os.popen()方法是非阻塞的。

3、使用subprocess.Popen()

python2.4版本后,提供了subprocess这个模块来产生子进程,并且可以连接到子进程的标准输入、输出、错误中,还可以获得子进程的返回值。

subprocess.Popen()的定义如下:

class subprocess.Popen( args, bufsize=0, executable=None,stdin=None,stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0)

其参数意义在此不赘述。一段简单的示例代码:

# coding:utf-8import subprocessp = subprocess.Popen("ls", shell=True, stdout=subprocess.PIPE)
r = p.stdout.read()
print(r)

PS:subprocess提供了2种方法调用子程序。subprocess.call()是阻塞式的,subprocess.Popen()是非阻塞的。

怎样在Python中执行cmd相关推荐

  1. python中cmd全称_【转】Python中执行cmd的三种方式

    原文链接:http://blog.csdn.net/menglei8625/article/details/7494094 目前我使用到的python中执行cmd的方式有三种: 1. 使用os.sys ...

  2. python使用教程cmd啥意思-python中执行cmd的方式

    1. 使用os.system("cmd") 导入import os. 程序会打出cmd在linux上执行的信息. os.system("ls") 2. 使用Po ...

  3. python使用教程cmd啥意思-对python中执行DOS命令的3种方法总结

    1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息. import os os.system("ls") 2. ...

  4. python使用教程cmd啥意思-Python 中的cmd模块学习

    Python中的cmd模块类型提供了一个创建命令行解析器的框架.简单的来说,可以继承Cmd来创建命令行界面,然后对所有想处理的命令command执行do_command方法.默认情况下,它使用read ...

  5. python自带的shell是什么-python中执行shell的两种方法总结

    一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: ...

  6. Python中执行外部命令

    有很多需求需要在Python中执行shell命令.启动子进程,并捕获命令的输出和退出状态码,类似于Java中的Runtime类库. subprocess模块的使用: Python使用最广泛的是标准库的 ...

  7. python运行命令_对python中执行DOS命令的3种方法总结

    1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息. import os os.system("ls") 2. ...

  8. python运行方法_对python中执行DOS命令的3种方法总结

    1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息. import os os.system("ls") 2. ...

  9. python中执行linux命令(调用linux命令)_常见Python中调用Linux命令

    有时候我们需要从Python中执行Linux命令,下面就介绍几种方法? 1. os 模块: 1.1 os.system 函数: system方法会创建子进程运行外部程序,方法只返回外部程序的运行结果. ...

最新文章

  1. Wex5铛铛开发环境搭建步骤
  2. TQ210裸机编程(4)——按键(中断法)
  3. ASP.NET Core微服务(三)——【跨域配置】
  4. 游戏设计、原型与开发:基于Unity与C#从构思到实现pdf
  5. a标签去除下划线css_数据分析师所需的编程技能 : CSS篇
  6. IntelliJ IDEA forMac 如何生成项目的javadoc(API文档)
  7. 最优化学习笔记(四)——最速下降法
  8. 【CVPR2019】 教程 Tutorials List
  9. Oracle中日期和时间字段的日常使用
  10. Mysql Literal(文字,既常量)
  11. android 代码循环,Android – 每5秒循环一部分代码
  12. 比对字段判断字段是否为空,合并列字段(合并多列)
  13. 华为数通ensp命令(三)
  14. uipath 验证码_UiPath邮件自动化Save Attachments的介绍和使用
  15. Apple Developer苹果签名工具
  16. Laravel框架使用maatwebsite/excel导出自动换行
  17. VIN码识别技术加速汽车后市场服务速度
  18. RFID不同频率下的应用场景及优缺点
  19. 降噪耳机哪款比较好?佩戴舒适的降噪蓝牙耳机推荐
  20. 数据结构和算法(四)之链表结构

热门文章

  1. 【资源】Faster R-CNN原理及代码讲解电子书
  2. 附下载|Python带你实践机器学习圣经PRML
  3. k8s概念入门之kube-proxy-针对早期(0.4)版本阅读
  4. Django博客系统(文章分类模型)
  5. Servlet 请求的转发
  6. 利用OpenCV识别玻璃纤维织物劈缝缺陷
  7. 手把手用YOLO做目标检测
  8. JPA 2.2改进了易用性
  9. 《Hibernate 系列》- 入门例子
  10. Openfire 性能优化