Использование wget с подпроцессом - PullRequest
1 голос
/ 14 января 2010

Я пытаюсь использовать wget с subprocess.

мои попытки работали до тех пор, пока я не попытался загрузить страницу в указанный каталог с этим кодом:

url = 'google.com'
location = '/home/patrick/downloads'
args = ['wget', 'r', 'l 1' 'p' 'P %s' % location, url]

output = Popen(args, stdout=PIPE)

если я запускаю этот код в /home/patrick, я получаю index.html в /home/patrick, а не /home/patrick/downloads.

Вы можете мне помочь?

Спасибо;)

Ответы [ 2 ]

4 голосов
/ 14 января 2010

Вы должны иметь дефисы, а location должен быть просто еще одним аргументом:

args = ['wget', '-r', '-l', '1', '-p', '-P', location, url]
0 голосов
/ 14 января 2010

Редактировать: popen из os намеревается заменить os.popen модуль. Следовательно, использование os.popen не рекомендуется

Сначала я думал, что это popen из os.

Если вы используете popen из os

#wget 'http://google.com/' -r -l 1 -p -P /Users/abhinay/Downloads

from os import popen

url = 'google.com'
location = '/Users/abhinay/Downloads'
args = ['wget %s', '-r', '-l 1', '-p', '-P %s' % location, url]

output = popen(' '.join(args))

и использование Popen с subprocess

#wget 'http://google.com/' -r -l 1 -p -P Downloads/google

from subprocess import Popen

url = 'google.com'
location = '/Users/abhinay/Downloads'
#as suggested by @SilentGhost the `location` and `url` should be separate argument
args = ['wget', '-r', '-l', '1', '-p', '-P', location, url]

output = Popen(args, stdout=PIPE)

Дайте мне знать, если я что-то упустил.

Thx!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...