Базовый Python StringIO - Почему GetValue () ничего не возвращает? - PullRequest
0 голосов
/ 25 августа 2011

У меня возникли базовые проблемы с Python. В следующем примере ошибки не возвращаются, но отображение содержимого всех переменных с помощью pprint показывает, что content is = '' - почему это может быть случай

import sys, os, re, StringIO, pprint, time
from BeautifulSoup import BeautifulSoup, BeautifulStoneSoup
import pycurl

url = "http://google.com/";

strio = StringIO.StringIO()

curlobj = pycurl.Curl()
curlobj.setopt(pycurl.URL, url)
curlobj.perform()
curlobj.close()

contents = strio.getvalue()
strio.close()

Есть идеи? Спасибо

Ответы [ 2 ]

5 голосов
/ 25 августа 2011

Посмотрите на строки, которые включают StringIO.

strio = StringIO.StringIO()
contents = strio.getvalue()
strio.close()

Ни одно из этих утверждений не извлекает контент из curlobj. Так что strio пусто.


Редактировать (спасибо @Alexander Cameron и @agf):

Возможно, вы имели в виду

curlobj.setopt(pycurl.WRITEFUNCTION, strio.write)    
2 голосов
/ 25 августа 2011

Вы никогда ничего не делаете с вашей переменной strio.Вы должны передать это в какую-то функцию, чтобы что-нибудь было записано в нее.

...