2014-11-05 275 views
0

我可以在沒有問題的Windows cmd中使用wget。但是它無法通過Python中的命令調用wget。使用Python調用wget時失敗

我的代碼是:

import os 
os.system('wget http://www.google.com') 

的錯誤是: wget的不被識別爲一個內部或外部命令

我也試過子,它也將失敗。

from subprocess import * 
call(['wget', 'http://www.google.com.hk']) 

的誤差修改是: FileNotFoundError:[WinError 2]

+1

是否有任何理由在系統調用中使用wget? 'urllib'可以幫到這裏。 – 2014-11-05 08:22:14

+0

你的PATH是什麼?它是否包含'wget'?你的操作系統是什麼? – 2014-11-05 08:25:08

+0

@JayanthKoushik謝謝你的回覆。我的目標是調用在cmd中運行的任何程序,例如FLVstreamer(http://www.nongnu.org/flvstreamer/)。當我在Python中使用cmd調用FLVstreamer時,會發生類似調用wg​​et一樣的錯誤。 – DanEng 2014-11-05 08:28:14

回答

0

Wget的將僅當os.getcwd()返回的wget其中存在目錄識別。如果不同,請使用絕對路徑wget。

+0

有沒有一種方法可以調用wget而無需聲明絕對路徑?我把wget放在C:\ Windows \ System32和C:\ Windows \ System32已經設置在系統路徑變量中。 – DanEng 2014-11-05 08:43:37

1

將wget添加到您的系統路徑變量,然後再次運行代碼。

+0

感謝您的回覆。我在我的系統路徑變量中設置了C:\ Windows \ System32。但它只是不能打電話給wget。我當前的解決方案是將wget.exe放在python腳本的同一個文件夾中,以便可以調用wget。 – DanEng 2014-11-05 08:51:31

+0

您可能需要註銷,以便對PATH變量所做的更改生效 – 2014-11-05 09:14:33

+0

@ChristianRapp感謝您的提醒。我已經重新啓動了我的電腦。奇怪的是沒有說明完整路徑,wget不能被調用,即使系統路徑變量已經設置。 – DanEng 2014-11-05 09:23:15