这个Python代码做了什么:shell =(sys.platform!=“win32”))

时间:2009-11-12 05:51:49

标签: python macos command-line

我不明白这段代码是做什么的, 我想在Mac OS X中运行命令行,我使用的代码来自运行Windows命令行的人。该命令仍然执行,但我想知道sys.platform!=“win32”的用途,以及我是否应将其更改为Mac OS X的其他内容。似乎是说sys.platform不是Win32 ,但这似乎不适合我。

return_code = subprocess.call(str(cline), shell=(sys.platform!="win32"))

2 个答案:

答案 0 :(得分:6)

以下是此代码执行和不执行的操作:

  • 它不编译(语法错误 - 你需要一个逗号 争论), - 不再了。
  • 启动子流程 并且,如果你不在win32它 通过shell启动它。该 “shell”参数可以是True或 False和sys.platform != 'win32'也可以评估为True或False。

答案 1 :(得分:3)

同样:

if sys.platform!="win32":
    return_code = subprocess.call(str(cline), shell=True)
else
    return_code = subprocess.call(str(cline), shell=False)

请参阅subprocess doc(执行cline

相关问题