python中执行shell命令的4种方式

如题所述

Python经常被称作“胶水语言”,因为它能够轻易地操作其他程序,轻易地包装使用其他语言编写的库。今天我们就讲解其中的一个方面,用Python调用Shell命令。用Python调用Shell命令有如下几种方式:
os.system("The command you want").这个调用相当直接,且是同步进行的,程序需要阻塞并等待返回。返回值是依赖于系统的,直接返回系统的调用返回值,所以windows和linux是不一样的
os.popen(command[,mode[,bufsize]]),图中是一个例子. 可以看出,popen方法通过p.read()获取终端输出,而且popen需要关闭close().当执行成功时,close()不返回任何值,失败时,close()返回系统返回值. 可见它获取返回值的方式和os.system不同。
使用commands模块,图中是一组例子。根据你需要的不同,commands模块有三个方法可供选择。getstatusoutput, getoutput, getstatus。
但是,如上三个方法都不是Python推荐的方法,而且在Python3中其中两个已经消失。Python文档中目前全力推荐第四个方法,subprocess! subprocess使用起来同样简单:

直接调用命令,返回值即是系统返回。shell=True表示命令最终在shell中运行。Python文档中出于安全考虑,不建议使用shell=True。建议使用Python库来代替shell命令,或使用pipe的一些功能做一些转义。官方的出发点是好的,不过真心麻烦了很多, so.... 如果你更关注命令的终端输出,可以如下图这样操作, 同样很简单.
温馨提示:内容为网友见解,仅供参考
无其他回答

python执行shell命令?
Python执行Linux系统命令,即在Python脚本中调用Shell命令,具体有以下四种方法:1、os.system \/\/仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息system(command) -> exit_status Execute the command (a string) in a subshell.\/\/如果再命令行下执行,结果直接打印出来:>>> os.system...

python中执行shell命令的4种方式
os.popen(command[,mode[,bufsize]]),图中是一个例子. 可以看出,popen方法通过p.read()获取终端输出,而且popen需要关闭close().当执行成功时,close()不返回任何值,失败时,close()返回系统返回值. 可见它获取返回值的方式和os.system不同。使用commands模块,图中是一组例子。根据你需要的不同,...

Python 运行 shell 命令的一些方法
对于更高级的shell命令执行,sh模块是一个第三方选择,它允许用户执行shell命令并处理输出和异常,如ErrorReturnCode和TimeoutException。在使用sh模块时,需确保命令路径在本地环境变量中可用,同时支持管道符和异常处理。虽然os模块和sh模块提供了丰富的功能,但请记住,优先考虑Python的标准库和模块,以保持...

python中怎么运行shell脚本
commands 可以很方便的取得命令的输出(包括标准和错误输出)和执行状态位。commands.getoutput('ls')这个方法只返回执行结果result不返回状态。在python中调用shell脚本 hello.sh 下面的512是返回的状态码,如果eixt 0时则返回的是0.shell脚本使用python脚本的参数 写一个hello.sh脚本,需要传入两个参数:...

python shell怎么使用
Python 中执行 Shell 命令有多种方法,stackoverflow 上有对这些方法进行比较的讨论,Calling an external command in Python 指出使用subprocess模块来实现更优。因此,本文说明如何使用subprocess模块来实现 Shell 脚本的功能。subprocess模块提供多种方法来实现执行 Linux 的命令,例如subprocess.call()方法,...

我希望通过Python脚本实现多次执行shell命令
python脚本实现多次循环执行shell命令有三种方法,代码如下:方法一 os.systemimport osi = 0while True:i = i + 1os.system("tcpreplay -ibond0 -M 5 -l 1 oracle_request_response.cap")print"+++++++++++++++"print"times:" ,itime.sleep(5)#方法二 os.popen import osi = 0while ...

python shell中怎么重复执行命令
有三种方法:1、os.system import os i = 0 while True:i = i + 1 os.system("tcpreplay -ibond0 -M 5 -l 1 oracle_request_response.cap")print"+++++++++++++++"print"times:" ,i time.sleep(5)2、os.popen import os i = 0 while True:i = i + 1 print os.popen("t...

如何在Python shell界面中执行编写好的.py文件
将文件名保存成“TempConvert”。回到界面shell界面中,我们输入一下代码: 其基本格式是:import 脚本文件名 注意我们的脚本文件要和Python.exe放在同一个目录下啊。这样我们就可以执行我们的代码了,如下我们刚才脚本的实现效果是杠杆地。 注意我们的脚本的目录一定保存正确。

python源程序执行的方式
1、在命令行输入ipython或ipython3进入交互式shell环境,如果不行的话需要安装ipython和python镜像,配置方式:pip3installipython-ictrl+D或者exit推出ipythonipython的优点:支持自动补全和执行linux命令。2、在命令行窗口输入python(官方的shell),在这里可以直接输入python程序代码,退出用exit()或者ctrl+D。...

如何使用python执行远程shell脚本
可以使用Python的Fabric包来完成这项任务。既然是谈到Shell脚本,系统应该是Linux\/Unix的,远程访问,应该是ssh吧。Fabric功能是将一个任务通过ssh在多台服务器上执行,而每个任务可以是单条shell指令或是一段python脚本。Fabric是将Python, Shell和SSH的功能很优雅地结合在了一起,同时自身又非常的轻量,...

相似回答
大家正在搜