基本Python StringIO——为什么GetValue()什么也不返回?
我有一些基本的python问题。。在下面的示例中,没有返回任何错误,但使用pprint显示所有变量的内容时,显示的内容为=“”——为什么可能是这种情况基本Python StringIO——为什么GetValue()什么也不返回?,python,stringio,Python,Stringio,我有一些基本的python问题。。在下面的示例中,没有返回任何错误,但使用pprint显示所有变量的内容时,显示的内容为=“”——为什么可能是这种情况 import sys, os, re, StringIO, pprint, time from BeautifulSoup import BeautifulSoup, BeautifulStoneSoup import pycurl url = "http://google.com/"; strio = StringIO.StringIO()
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()
有什么想法吗?谢谢您从未使用
strio
变量做过任何事情。您必须将其传递给某个函数,才能向其写入任何内容。查看涉及StringIO
的行
strio = StringIO.StringIO()
contents = strio.getvalue()
strio.close()
这些语句都没有从curlobj
中提取内容。因此,strio
是空的
编辑(感谢@Alexander Cameron和@agf): 也许你的意思是
curlobj.setopt(pycurl.WRITEFUNCTION, strio.write)
谢谢看起来像strio=StringIO.StringIO()curlobj=pycurl.Curl()curlobj.setopt(pycurl.URL,URL)curlobj.setopt(pycurl.WRITEFUNCTION,strio.write)curlobj.perform()curlobj.close()contents=strio.getvalue()strio.close()就是这样做的方法。或者
curlobj.setopt(pycurl.WRITEFUNCTION,strio.write)
谢谢!看起来strio=StringIO.StringIO()curlobj=pycurl.Curl()curlobj.setopt(pycurl.URL,URL)curlobj.setopt(pycurl.WRITEFUNCTION,strio.write)curlobj.perform()curlobj.close()contents=strio.getvalue()strio.close()就是这样做的方法。