1. 背景

关于 commands 的说明:

  1. python 3.0 之后移除此命令,使用 subprocess代替;
  2. python 3.x 使用 subprocess 创建一个新进程;

最开始的时候用 Python 学会了 os.system() 这个方法是阻塞当前主进程执行的,只有该命令执行完毕,主进程才会继续执行。

os.system('ping -c 2 www.baidu.com')

而通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出。这个方法是后台执行,不影响后续脚本运行。

output = os.popen('ping -c 2 www.baidu.com')
print(output.read())

2. commands 方法

commands 模块是 Python 的内置模块,它主要有三个函数:

函数 说明
getoutput(cmd) Return output (stdout or stderr) of executing cmd in a shell.
getstatus(file) Return output of “ls -ld file” in a string.
getstatusoutput(cmd) Return (status, output) of executing cmd in a shell.

(1). commands.getoutput(cmd) 返回Shell命令的输出内容:

In [30]: import commands
In [31]: commands.getoutput("pwd")
Out[31]: '/home/ubuntu'

(2). commands.getstatus(file) 返回 ls -ld file 执行的结果:该函数已被 Python 丢弃,不建议使用,它返回 ls -ld file 的结果(String)

In [42]: commands.getstatus("/home/ubuntu/Downloads/")
Out[42]: 'drwxr-xr-x 2 ubuntu ubuntu 4096 5\xe6\x9c\x88   4 15:36 /home/ubuntu/Downloads/'

(3). commands.getstatusoutput(cmd) 返回一个元组(status,output),status 代表的 shell 命令的返回状态,如果成功的话是 0;output 是 shell 的返回的结果:

In [33]: commands.getstatusoutput("pwd")
Out[33]: (0, '/home/ubuntu')

Python 标准库之 commands相关推荐

  1. Python标准库:一些受欢迎的模块

    目录 1.模块sys 1).介绍 1.模块sys中一些重要的函数和变量 2.变量sys.argv 3.函数sys.exit 4.映射sys.modules 5.变量sys.path 6.变量sys.p ...

  2. Python 标准库之 xml.etree.ElementTree xml解析

    Python 标准库之 xml.etree.ElementTree Python中有多种xml处理API,常用的有xml.dom.*模块.xml.sax.*模块.xml.parser.expat模块和 ...

  3. Python标准库介绍

    1. 关于Python标准库 众所周知,Python是一个依赖强大的组件库完成对应功能的语言,为了便捷实现各项功能,前辈大牛们打造了多种多样的工具库公开提供给大众使用,而越来越多的库已经因为使用的广泛 ...

  4. Python标准库queue模块原理浅析

    Python标准库queue模块原理浅析 本文环境python3.5.2 queue模块的实现思路 作为一个线程安全的队列模块,该模块提供了线程安全的一个队列,该队列底层的实现基于Python线程th ...

  5. Python标准库threading模块Condition原理浅析

    Python标准库threading模块Condition原理浅析 本文环境python3.5.2 threading模块Condition的实现思路 在Python的多线程实现过程中,在Linux平 ...

  6. Python标准库asyncio模块基本原理浅析

    Python标准库asyncio模块基本原理浅析 本文环境python3.7.0 asyncio模块的实现思路 当前编程语言都开始在语言层面上,开始简化对异步程序的编程过程,其中Python中也开始了 ...

  7. [python教程入门学习]Python标准库映射类型与可散列数据类型的关系

    本文章向大家介绍Python标准库映射类型与可散列数据类型的关系,主要包括Python标准库映射类型与可散列数据类型的关系使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...

  8. 用于生成随机数的python标准库模块是_17 Python 标准库之 random 模块 - Python 进阶应用教程...

    Python 标准库之 random 模块 随机数是随机产生的数,比如购买彩票,中奖的号码就是随机的.random 库是用于生成随机数的 Python 标准库,random 库提供如下函数: 函数 功 ...

  9. 转Python 标准库 urllib2 的使用细节

    Python 标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如 urllib2 这个 HTTP 客户端库.这里总结了一些 urllib2 库的使用细节. 1 P ...

最新文章

  1. 多目标粒子群优化算法_基于粒子群优化的投资组合优化研究
  2. PHP内存管理 垃圾回收
  3. 第10课:动手实战基于 CNN 的电影推荐系统
  4. 如何测试程序是否_软件开发过程中,如何进行自动化测试?Unit Test 和 UI Test
  5. Hadoop+GPU强强联手的性能探索
  6. GPU Saturday技术沙龙:OpenCL程序员眼中的下一代APU架构
  7. CSDN-markdown编辑器使用说明
  8. 聊聊集成电路工程技术人员都有哪些?
  9. 《图论及其应用》学习笔记(图和简单图)
  10. 关于使用proxy代理解决跨域问题报404
  11. https://blog.csdn.net/myy629464/article/details/77938431/
  12. 京东到家大数据平台架构演进实战
  13. 3DMax提示:单位不匹配
  14. Altium Designer 相同模块的布局布线操作
  15. java 上传图片到图片服务器
  16. Access denied for user ''@'localhost' to database
  17. VScode受难记 - 0
  18. 太酷了!GitHub 开发者自制火星车,教程全面开源!网友:这才是大佬!
  19. cmd怎么查看python路径_从cmd如何查找python的安装路径?
  20. 高德地图jsAPI,定位和选择位置

热门文章

  1. @Transactional注解最容易忽视的三个失效场景!
  2. 2022-2028年中国低氧铜杆行业市场研究及前瞻分析报告
  3. Python 上下文管理器和 with 语句
  4. 第一个spring程序
  5. Electron、QT和JAVA PC桌面开发技术比较
  6. Bert代码详解(一)重点详细
  7. pytorch版的bilstm+crf实现sequence label
  8. 命名实体识别入门教程(必看)
  9. 【嵌入式】openmv与stm32的串口通信
  10. Android 计时器 Chronometer