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

admin3年前云主机51

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命令)》来自互联网同行内容,若有侵权,请联系我们删除!

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

相关文章

shopee入驻

为何越来越多的商家选择在Shopee入驻?随着电子商务市场的不断壮大和竞争的激烈化,选择正确的平台已成为商家成功的重要组成部分。近年来,Shopee中国越来越受到商家的青睐,不少商家选择在Shopee...

极亿云

什么是极亿云?极亿云是一家互联网技术公司,成立于2017年。公司总部位于中国深圳,目前已在全球拥有超过100个节点,为客户提供高品质的云计算服务。极亿云的产品和服务极亿云提供的主要产品和服务包括:...

「香港服务器的多元应用场景」

一、电子商务及金融服务随着互联网的发展,越来越多的企业将业务转向线上,这为服务器托管提供了更广阔的市场空间。香港作为全球最大的金融中心之一,拥有上百家国际银行和金融机构,这些机构在将业务转向线上的同时...

云服务器购买指南:以云为中心,实现高效运营!

云服务器是云计算技术的一个重要应用领域,其购买和使用对于各个企业来说都至关重要。本文将介绍云服务器购买指南,以云为中心,实现高效运营的方法和技巧。一、云服务器的选择1、公有云还是私有云?在选择云服务器...

Hincloud创新云计算服务,革新行业进步

一、数字化转型和云计算的趋势数字化转型是指通过数字技术和互联网应用,将企业业务从传统的线下形式转变为线上数字化运营,以提高企业效率和创新能力。而云计算则是数字化转型所需的技术基础,它通过网络连接,为企...

宁波高防

宁波高防:定制化、多种防护方案保障企业信息安全随着信息社会的不断发展,网络安全问题越来越引起人们的关注,企业在信息化进程中积累的大量重要数据,以及信息通信的重要性,都让企业面临着严峻的网络安全威胁,为...