我在windows cmd和ubuntu bash中执行以下代码:
python -c "import xxx"
输出错误消息。当我跑的时候:
^{pr2}$
值为1。在
当我在python脚本中使用以下子进程执行相同的任务时:
cmdlst = ['python', '-c', '“import xxx”‘]
proc = subprocess.Popen(cmdlst)
retcode = proc.wait()
retcode为0。
问题是什么?如何获得命令的正确返回代码
在子流程中运行。在
提前谢谢。在
Tags:
运行shell命令(相当于您给定的
subprocess.Popen()
调用,如果我们忽略“智能引号”的使用)无论名为xxx的模块是否存在,都会正确退出,状态为0。在
这是因为
"import xxx"
是一个字符串,对字符串求值不会引发异常。您将从python -c '"hello world"'
或任何其他字符串获得完全相同的行为。在如果您真的想尝试执行代码
^{pr2}$import xxx
,那么您需要删除额外的引号:…将正确返回
1
(如果不存在xxx
模块)。在相关问题 更多 >
编程相关推荐