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

admin3年前云主机64

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

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

相关文章

如何选择优质的香港服务器?关注这些因素!

香港作为亚洲的金融中心,其网络基础设施在亚太地区也是相当强大的。这也使得香港的服务器市场越来越受到关注。如何选择优质的香港服务器是每个企业和个人用户都需要考虑的问题。一、服务器性能服务器性能是选择服务...

wordpress备份和恢复

什么是WordPress备份和恢复WordPress备份和恢复指的是将WordPress网站的所有数据(网站文件、数据库)进行备份,以防止数据丢失或网站被黑客攻击等情况发生,并在需要的时候将数据恢复到...

海外多IP站群VPS服务器推荐:选用何处?

正文:一、网络连接稳定性选择海外多IP站群VPS服务器是确保站点稳定性和连通性的关键之一。多IP站群需要稳定的网络环境作为支撑,并且需要选择网络传输速度快、延迟小的服务器,才能确保站点在任何时间都能够...

国外高防服务器:网络安全领域的坚实防线

随着互联网的发展,网络安全问题也越来越受到人们的关注。国外高防服务器成为了网络安全领域的坚实防线。本文从四个方面对国外高防服务器进行详细的阐述:高防服务器的概念和作用、高防服务器的特点、高防服务器的优...

如何选择适合自己的CDN服务商——全面解析购买CDN服务的指南

随着互联网业务的快速发展,CDN(Content Delivery Network)技术在加速网站的同时也为网站节约了成本。然而,在选择CDN服务商时需要考虑多个因素,如网络性能、价格、安全等。本文将...

美国GPU服务器的应用领域?租用美国GPU服务器配置及报价大概多少钱?

美国GPU服务器,简单来说,美国GPU服务器是基于GPU的应用于视频编解码、深度学习、科学计算等多种场景的快速、稳定、弹性的计算服务。美国GPU服务器的应用领域?一、运行手机模拟器美国GPU服务器可支...