2014-11-05 271 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