2009-11-12 48 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