我在检查python子进程中的错误时遇到了麻烦。子进程是一个sas程序。有巫师可以分享魔法吗?我想避免在sas日志中搜索字符串,而是依靠返回码。
我在AIX服务器上安装了python 2.7。
我可以使用python的子流程模块以多种方式调用sas程序。我已经使用check_output模块,Popen模块甚至只是调用对象成功调用了一个程序。但是,对于我一生,我无法获得返回码!
Import subprocess
Subprocess.call([‘SAS’,’/path/program.sas’])
或
Import subprocess
P = subprocess.check_output(“sas /path/program.sas”,stderr=subprocess.STDOUT,shell=True)
Print(p)
或 导入子流程 P = subprocess.Popen(“ sas /path/program.sas”,shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT) proc.wait() Standard_output,standard_error = proc.communicate *( 打印(proc.returncode) 或者
Import subprocess
Try:
output = subprocess.check_output(‘sas /path/program.sas’,shell=true)
Except subprocess.CalledProcessError as exc:
Print(“Status : Fail”,exc.returncode)