windows中用python執行commands.getstatusoutput()為什麼出錯?

commands.getstatusoutput(『echo』),結果為(1, "{ is not recognized as an internal or external command,
operable program or batch file."),然而同樣的代碼在ubuntu中就不會出問題,如何解決呢


因為CPython堅持要讓commands模塊為Unix-specific而不打算兼容Windows唄。

要詳細的話,給題主倆傳送門:

Issue 772029: Make commands.getstatusoutput work on Windows &<- 2003-2004年。注意狀態是rejected。

[python-win32] windows friendly commands.getstatusoutput &<- 2008年。大概沒人理?


Python 3.4:

&>&>&> import sys

&>&>&> sys.platform

win32

&>&>&> from subprocess import getoutput

&>&>&> getoutput(echo)

ECHO 處於打開狀態。

Python 2 大概是不會修了。不過它也有 subprocess 模塊,要不你試試?


補充 @RednaxelaFX的答案, 看下源碼就知道了啊.


推薦閱讀:

如何从拉勾网往里面来看互联网企业里面的数据挖掘现状如何?
Write a Python function
pyhton新聞頁正文抽取
為什麼寫的爬蟲只能爬取一幅圖,而不能全部下載所有圖片?
Python練習第七題,我要倒過來看

TAG:Python | Python庫 | Python2x |