subprocess

可以执行shell命令的相关模块和函数有:

os.system

os.spawn

os.popen --废弃

popen2.* --废弃

commands.* --废弃,3.x中被移除

import commands

result = commands.getoutput('cmd')   #只返回执行的结果, 忽略返回值.

result = commands.getstatus('cmd')   #返回ls -ld file执行的结果.

result = commands.getstatusoutput('cmd')

#用os.popen()执行命令cmd, 然后返回两个元素的元组(status, result). cmd执行的方式是{ cmd ; }2>&1, 这样返回结果里面就会包含标准输出和标准错误.

例子

>>> subprocess.getstatusoutput('pwd')

(0, '/home/ronny')

>>> subprocess.getoutput('pwd')

'/home/ronny'

>>> subprocess.getstatus('pwd')

Traceback (most recent call last):

File "", line 1, in

AttributeError: module 'subprocess' has no attribute 'getstatus'

以上执行shell命令的相关的模块和函数的功能均在 subprocess 模块中实现,并提供了更丰富的功能。

(1) call

执行命令,返回状态码(命令正常执行返回0,报错则返回1)

ret2=subprocess.call("ipconfig")    #python3.5不是这样,依然会抛出异常导致无法对ret2赋值

print(ret1) #0

print(ret2) #1

ret = subprocess.call(["ls", "-l"], shell=False) #shell为False的时候命令必须分开写

ret = subprocess.call("ls -l", shell=True)

(2) check_call

执行命令,如果执行成功则返回状态码0,否则抛异常

subprocess.check_call(["ls", "-l"])

subprocess.check_call("exit 1", shell=True)

(3) check_output

执行命令,如果执行成功则返回执行结果,否则抛异常

subprocess.check_output(["echo", "Hello World!"])

subprocess.check_output("exit 1", shell=True)

python commands模块_python commands模块在python3.x被subprocess取代相关推荐

  1. 如何显示python的内置模块_python之模块(内置模块)

    内置模块是Python自带的功能,在使用内置模块相应的功能时,需要[先导入]再[使用] 一.sys 用于提供对Python解释器相关的操作: 1 sys.argv #命令行参数List,第一个元素是程 ...

  2. python如何自定义模块_python自定义模块和开源模块使用方法

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  3. python import变量_Python import模块调用

    开发过程中代码越写越多,在一个文件里代码会越来越长,不容易维护,为了容易维护代码,我们把很多函数分组,分别放在不同的文件里,在Python中,一个.py文件就是模块(Module) 工具/原料 Pyt ...

  4. python shelve模块_python常用模块之shelve模块

    python常用模块之shelve模块 shelve模块是一个简单的k,v将内存中的数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据类型 我们在上面讲json.pickle ...

  5. python manager模块_Python 并发模块

    Python 并发模块 multiprocessing 介绍 multiprocessing 是一个用与 threading 模块相似API的支持产生进程的包. multiprocessing 包同时 ...

  6. python3导入ping模块_Python ping 模块

    print socket.gethostbyname('www.baidu.com') fping功能 https://www.cnblogs.com/zhoujie/p/python17.html ...

  7. python无法导入模块_python导入模块失败的原因是什么

    py执行文件和模块同属于同个目录(父级目录),才能直接import模块:如果不在同一目录,可以在python环境下使用sys.path.append(path)添加相关的路径,但在退出python环境 ...

  8. python贪婪匹配_python re模块匹配贪婪和非贪婪模式详解

    python re模块匹配贪婪和非贪婪模式详解 这篇文章主要介绍了python re模块匹配贪婪和非贪婪模式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友 ...

  9. python argparse模块_Python argparse模块应用实例解析

    这篇文章主要介绍了Python argparse模块应用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 简介 argparse是python ...

  10. python莫比乌斯环_python基础|模块

    1 模块简介 在python中常见的模块有三种,在python解释器中的内置模块,第三方模块和自定义模块.模块的有使用python编写的文件,有已被编译为共享库或DLL的C或C++扩展,也有使用C编写 ...

最新文章

  1. 原创 | 疫情之下,这些数字经济赛道危中有机
  2. java data是什么文件_如何用java实现 读取一个data类型文件 并显示出来(随便选择一种类型txt或者word)...
  3. BZOJ 4720 [Noip2016]换教室
  4. day16前端(Dom+Jquery)
  5. 模型监控psi_PSI和CSI:前2个模型监控指标
  6. 在Google的AppEngine上升级到Java 7
  7. HDU 2841 Visible Trees(容斥)题解
  8. 图像算法五:【图像小波变换】多分辨率重构、Gabor滤波器、Haar小波
  9. Android编译环境——VMware虚拟机安装配置
  10. informix的常用SQL语句
  11. 论文笔记_S2D.42_2018-CRV_为经典图像处理辩护:在CPU上的快速深度补全
  12. 2019年软件QA与测试八大关键词
  13. NBIOT专栏之BC28与STM32F103单片机串口通信连接阿里云
  14. abaqus各种文件说明
  15. Sublime Text 中文版安装和插件安装
  16. Rasa课程、Rasa培训、Rasa面试、Rasa实战系列之Lexical Ambiguity、Fallback Detection
  17. 日“隼鸟二号”首次降落“龙宫”取样
  18. 400分理科学计算机,400分左右的理科大学 高考400分能上什么学校
  19. 【Rust日报】2022-02-22 Slint - 为桌面和嵌入式设备创建一个新的GUI框架
  20. mysql与access区别_access与mysql的区别

热门文章

  1. ijkplayer支持h264
  2. H3C交换机版本升级(图形化)
  3. Cissp-【第3章 安全工程】-2021-2-22(269页-289页)
  4. java自学语法_Java自学笔记(一):基础知识
  5. linux 连接远程命令行,screen命令行远程连接
  6. 计算机二级学号填错了,计算机二级错题(58页)-原创力文档
  7. php+微信开发+解绑,微信开发之解绑设备通知的方法
  8. 链路聚合_rhel7下的链路聚合配置
  9. java怎么读取word某一页内容_Word页码设置的3点技巧,提高排版效率,减少不必要烦恼...
  10. 合并报表编制采用的理论_合并报表操作的整体思路梳理