0
我正在製作一個GUI,可以使用子進程和tkinter在命令提示符下執行。subprocess - FileNotFoundError當shell = False
def test_subprocess(self):
proc = subprocess.Popen(["echo", "Hello"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, universal_newlines=True, shell=False)
response = proc.communicate()[0]
self.log.insert("end", response)
如果我設置shell=False
,我得到這個錯誤:
FileNotFoundError: [WinError 2] The system cannot find the file specified
我已經論據分爲序列。
只是要補充一點,許多UNIX系統都有'/ bin/echo'以及shell內建的,所以你可能只會在Windows上得到這個特定的問題。 – cdarke
@cdarke:很好。用戶清楚地使用Windows,錯誤信息是有史以來最差的,甚至不知道哪個文件無法找到:) –
當文件名不被報告時,你不討厭它嗎?它該死的*知道*哪個文件找不到,但不能打擾告訴我們。你甚至不能運行'strace'來找出答案。 – cdarke