2009-11-12 47 views
1

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

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

回答

6

下面是这段代码并不会:

  • 它不编译(语法错误 - 您需要的 参数之间用逗号), - 现在不是了。
  • 它启动一个子进程 ,如果你不在win32上,它会通过shell启动它。 “外壳”参数 可以为True或 False,sys.platform != 'win32'也可以评估为True或False。
+0

谢谢,固定逗号。我试图为这个问题进行格式化时,我意外地把它拿出来了。 – John

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