2
如果我執行在Windows下面的Python代碼:的Python:在Linux上,subprocess.Popen()的作品怪異與殼=真
import subprocess
subprocess.Popen([ 'python', 'foo' ], shell = True).communicate()
我被寫入標準輸出錯誤,符合市場預期:
python: can't open file 'foo': [Errno 2] No such file or directory
但是,如果我在linux上執行相同的代碼(ubuntu,OSX-任何),我得到了交互式的python REPL而不是這個文本!像這樣:
[email protected]:~/Documents$ python test.py
Python 2.7.3 (default, Jab 2 2013, 16:53:07)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information
>>>
爲什麼這種奇怪的行爲?使用參數('foo')執行python解釋器必須將其置於所有平臺上的評估模式,而不是置入REPL模式。
+1審慎強調 – inspectorG4dget