Python调用shell命令(python调用shell命令)

admin3年前云主机111

1.1   os.system(command)

在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态。这实际上是使用C标准库函数system()实现的。这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果。

1.2   os.popen(command,mode)

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

os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容。实际使用时视需求情况而选择。

1.3   commands.getstatusoutput(command)

使用commands.getstatusoutput函数执行command命令并返回一个元组(status,output),分别表示command命令执行的返回状态和执行结果。对command的执行实际上是按照{command;} 2>&1的方式,所以output中包含控制台输出信息或者错误信息。output中不包含尾部的换行符。

实例:

>>>import commands

>>> status, output = commands.getstatusoutput('ls -l')

使用subprocess模块可以创建新的进程,可以与新建进程的输入/输出/错误管道连通,并可以获得新建进程执行的返回状态。使用subprocess模块的目的是替代os.system()、os.popen*()、commands.*等旧的函数或模块。

2.1   subprocess.call(["some_command","some_argument","another_argument_or_path"])

subprocess.call(command,shell=True)

实例:

handle = subprocess.call('ls -l', shell=True)

2.2   subprocess.Popen(command, shell=True)

如果command不是一个可执行文件,shell=True不可省。

最简单的方法是使用class subprocess.Popen(command,shell=True)。Popen类有Popen.stdin,Popen.stdout,Popen.stderr三个有用的属性,可以实现与子进程的通信。 【站长下载 http://inhv.cn 】

将调用shell的结果赋值给python变量

handle = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)

实例:

handle = subprocess.Popen('ls -l', stdout=subprocess.PIPE, shell=True)

handle = subprocess.Popen(['ls','-l'], stdout=subprocess.PIPE, shell=True)

handle = subprocess.Popen(args='ls -l', stdout=subprocess.PIPE, shell=True)

print handle.stdout.read()

print handlemunicate()[0]

《Python调用shell命令(python调用shell命令)》来自互联网同行内容,若有侵权,请联系我们删除!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

哪些行业适合租用香港服务器来开展业务(适合租用香港服务器的行业,新标题:香港服务器租用适用行业)

一、电子商务香港是全球知名的贸易中心,电子商务行业在这里发展迅速,其市场规模和消费水平均居全球前列。租用香港服务器,对于拓展电商市场具有显著的优势:香港距离中国内地较近,可以有效缓解跨境网络延迟问题,...

IDC设备大揭秘:深度解析其工作原理与优势

随着数字化时代的到来和大数据时代的到来,越来越多的企业开始把自己的信息化设备外包给IDC(Internet Data Center)公司,以提高自身的业务效率和竞争力。本文旨在深度解析IDC设备的工作...

便宜美国VPS服务器

背景介绍近些年来,云计算技术迅猛发展,越来越多的企业和个人开始使用云端服务器来支持自己的业务。VPS服务器作为云端服务器的一种,不仅能够提供不同的操作系统环境,而且价格相较于传统物理服务器更具优势。在...

从一级域名服务器到网络安全:探索DNS系统的漏洞与防护

一、DNS系统的结构与运作机制1、DNS系统的基本结构DNS系统是一个分层结构系统,分为根域、顶级域、二级域、子域、主机名等各种不同的域,每个域由一级域名服务器、二级域名服务器以及三级域名服务器组成。...

宿迁BGP云服务器

宿迁BGP云服务器的优势与特点宿迁BGP云服务器是一款基于BGP协议的高性能云服务器,它有什么优势和特点呢?接下来我们就来一一了解。优势一:高速稳定的网络宿迁BGP云服务器采用全新BGP路由架构,具有...

ubuntu安装步骤

Ubuntu安装步骤Ubuntu是一种开源的Linux操作系统。它被广泛用于服务器和个人电脑系统。本文将会介绍在个人电脑上安装Ubuntu的步骤,这个过程简单易懂,即使您从来没有使用过Linux也不用...