这段Python代码做了什么:shell=(sys.platform!="win32")
我不太明白这段代码在干嘛。 我想在Mac OS X上运行一个命令行,而我用的代码是从一个在Windows命令行上运行的人那里拿来的。虽然这个命令还是能执行,但我想知道这个sys.platform!="win32"是干什么的,是否需要把它改成其他的东西来适应Mac OS X。看起来它是在说sys.platform不是Win32,但我觉得这不太对。
return_code = subprocess.call(str(cline), shell=(sys.platform!="win32"))
2 个回答
3
和下面这个一样:
if sys.platform!="win32":
return_code = subprocess.call(str(cline), shell=True)
else
return_code = subprocess.call(str(cline), shell=False)
可以查看 subprocess 文档(执行 cline
)
6
这段代码的作用和不作用的地方如下:
- 它不能编译(语法错误 - 你需要在参数之间加个逗号),- 现在已经不是了。
- 它会启动一个子进程,如果你不是在Windows系统上,它会通过命令行来启动。这里的“shell”参数可以是True或者False,而
sys.platform != 'win32'
也可以是True或者False。