【Python】Python中执行可执行文件的四种方法

###Date: 2018.5.8

===========================================================

分类:Python函数用法

主要分析一下subprocess.call,subprocess.Popen与os.system,os.popen调用命令的用法与区别:

1、subprocess.call( )

import subprocess
ret = subprocess.call(cmd,shell=True)

cmd命令行中可以是字符串或者是序列(字符串列表list)的形式,shell=True表示会让subprocess.call接受字符串类型的变量作为命令,并调用shell去执行这个字符串,当shell=False时,subprocess.call只接受数组变量作为命令,并将数组的第一个元素作为命令,剩下的全部作为该命令的参数。

ret表示返回的可执行文件的返回值。


2、subprocess.Popen()

import subprocess  
proc = subprocess.Popen('cmd', shell=True)  
proc.communicate()  
ret = proc.returncode 

or:

import subprocess  
proc = subprocess.Popen('cmd', shell=True)  
ret = proc.wait() 

用法同上,ret返回的是可执行文件的返回值。


3、os.system()

import os
ret = os.system(cmd)

需要注意的是,ret返回的是脚本的退出状态码。


4、os.popen()

import os
ret=os.popen(cmd)
需要注意的是,ret返回的是可执行文件的返回值,不是脚本的退出状态码。



你可能感兴趣的:(【Python编程】)