Как получить данные из stdin с помощью os.system () - PullRequest
0 голосов
/ 09 декабря 2008

Единственный надежный метод, который я нашел для использования скрипта для загрузки текста из Википедии, - это cURL. Пока что единственный способ сделать это - позвонить os.system(). Несмотря на то, что выходные данные правильно отображаются в оболочке python, я не могу заставить функцию возвращать что-либо, кроме кода выхода (0). С другой стороны, кто-то может показать, как правильно использовать urllib.

Ответы [ 3 ]

7 голосов
/ 09 декабря 2008

С Погружение в Python:

import urllib
sock = urllib.urlopen("http://en.wikipedia.org/wiki/Python_(programming_language)")
htmlsource = sock.read()
sock.close()
print htmlsource

Это распечатает исходный код статьи Python Wikipedia. Я предлагаю вам взглянуть на Dive into Python для более подробной информации.

Пример использования urllib2 из Ссылки на библиотеку Python:

import urllib2
f = urllib2.urlopen('http://www.python.org/')
print f.read(100)

Редактировать: Также вы можете взглянуть на wget.
Edit2: добавлен пример urllib2 по совету С.Лотта

2 голосов
/ 09 декабря 2008

Отвечая на вопрос, В Python есть модуль подпроцесса, который позволяет вам взаимодействовать с порожденными процессами. http://docs.python.org/library/subprocess.html#subprocess.Popen

Позволяет читать стандартный вывод для вызванного процесса и даже отправлять элементы в стандартный ввод.

однако, как вы сказали, urllib - гораздо лучший вариант. если вы ищете stackoverflow, я уверен, что вы найдете по крайней мере 10 других связанных вопросов ...

0 голосов
/ 09 декабря 2008

В качестве альтернативы urllib, вы можете использовать libCurl Python bindings .

...