Python如何使用OS模块调用cmd


Posted in Python onFebruary 27, 2020

在os模块中提供了两种调用 cmd 的方法,os.popen() 和 os.system()

os.system(cmd) 是在执行command命令时需要打开一个终端,并且无法保存command命令的执行结果。

os.popen(cmd,mode) 打开一个与command进程之间的管道。返回值是一个文件对象,可以读或者写(由mode决定,默认是'r')。如果mode为'r',可以使用此函数的返回值调用read()来获取command命令的执行结果。

os.system()

定义:

def system(*args, **kwargs): # real signature unknown
  """ Execute the command in a subshell. """
  pass

简单的来说就是在shell中执行command命令

示例:

(venv) C:\Users\TynamYang>python
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import os
>>> cmd = 'echo "I am tynam"'
>>> os.system(cmd)
"I am tynam"
>>>

os.popen()

定义:

# Supply os.popen()
def popen(cmd, mode="r", buffering=-1):
  if not isinstance(cmd, str):
    raise TypeError("invalid cmd type (%s, expected string)" % type(cmd))
  if mode not in ("r", "w"):
    raise ValueError("invalid mode %r" % mode)
  if buffering == 0 or buffering is None:
    raise ValueError("popen() does not support unbuffered streams")
  import subprocess, io
  if mode == "r":
    proc = subprocess.Popen(cmd,
                shell=True,
                stdout=subprocess.PIPE,
                bufsize=buffering)
    return _wrap_close(io.TextIOWrapper(proc.stdout), proc)
  else:
    proc = subprocess.Popen(cmd,
                shell=True,
                stdin=subprocess.PIPE,
                bufsize=buffering)
    return _wrap_close(io.TextIOWrapper(proc.stdin), proc)

也是在shell中执行command命令,但是返回的结果却是一个文件对象,可以对其读写

其中的三个参数含义:

command -- 执行的shell命令

mode -- 模式权限,读(‘r')或者写(‘w'),默认为读(‘r')

bufsize -- 如果将缓冲值设置为0则不会进行缓冲。 如果缓冲值为1则在访问文件时将执行行缓冲。 如果将缓冲值设置为大于1的整数则以设置的缓冲大小执行缓冲操作。 如果为负则缓冲区大小为系统默认值(默认行为)。

示例:

>>> import os
>>> cmd = 'echo "I am tynam"'
>>> f = os.popen(cmd, 'r')
>>> f.read()
'"I am tynam"\n'
>>>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python os模块介绍
Nov 30 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
Jul 08 Python
python字典多键值及重复键值的使用方法(详解)
Oct 31 Python
Python科学计算之NumPy入门教程
Jan 15 Python
python 截取 取出一部分的字符串方法
Mar 01 Python
python+ffmpeg视频并发直播压力测试
Mar 06 Python
对python中array.sum(axis=?)的用法介绍
Jun 28 Python
python aiohttp的使用详解
Jun 20 Python
python2与python3爬虫中get与post对比解析
Sep 18 Python
Python实现密码薄文件读写操作
Dec 16 Python
Python decorator拦截器代码实例解析
Apr 04 Python
重构Python代码的六个实例
Nov 25 Python
python之生成多层json结构的实现
Feb 27 #Python
Python查找不限层级Json数据中某个key或者value的路径方式
Feb 27 #Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
Feb 27 #Python
使用 Python 在京东上抢口罩的思路详解
Feb 27 #Python
Python 格式化打印json数据方法(展开状态)
Feb 27 #Python
python实现提取str字符串/json中多级目录下的某个值
Feb 27 #Python
python 使用递归实现打印一个数字的每一位示例
Feb 27 #Python
You might like
PHP 通过Socket收发十六进制数据的实现代码
2013/08/16 PHP
php中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
php魔术变量用法实例详解
2014/11/13 PHP
PHP如何使用Memcached
2016/04/05 PHP
php判断数组是否为空的实例方法
2020/05/10 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
javascript 支持ie和firefox杰奇翻页函数
2008/07/22 Javascript
javascript优先加载笔记代码
2008/09/30 Javascript
offsetHeight在OnLoad中获取为0的现象
2013/07/22 Javascript
浅析JavaScript原型继承的陷阱
2013/12/03 Javascript
js中判断用户输入的值是否为空的简单实例
2013/12/23 Javascript
让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
2014/12/12 Javascript
js进行表单验证实例分析
2015/02/10 Javascript
JavaScript实现cookie的写入、读取、删除功能
2015/11/05 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
2016/03/30 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
2017/02/26 Javascript
jQuery布局组件EasyUI Layout使用方法详解
2017/02/28 Javascript
d3.js 地铁轨道交通项目实战
2019/11/27 Javascript
vue路由结构可设一层方便动态添加路由操作
2020/08/31 Javascript
python实现从web抓取文档的方法
2014/09/26 Python
python3对拉勾数据进行可视化分析的方法详解
2019/04/03 Python
详解用python写一个抽奖程序
2019/05/10 Python
Python任意字符串转16, 32, 64进制的方法
2019/06/12 Python
python-numpy-指数分布实例详解
2019/12/07 Python
PyQt5事件处理之定时在控件上显示信息的代码
2020/03/25 Python
python实现猜数游戏
2020/03/27 Python
Matplotlib中%matplotlib inline如何使用
2020/07/28 Python
北承题目(C++)
2012/05/16 面试题
全国道德模范事迹
2014/02/01 职场文书
测试工程师程序员求职信范文
2014/02/20 职场文书
学校安全责任书
2014/04/14 职场文书
社区维稳工作方案
2014/06/06 职场文书
学习型党组织心得体会
2014/09/12 职场文书
党员教师群众路线对照检查材料思想汇报
2014/09/29 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书