基本Python StringIO -- 为什么GetValue()返回空值?

0 投票
2 回答
3002 浏览
提问于 2025-04-17 00:20

我遇到了一些基本的Python问题。在下面这个例子中,没有返回错误,但是用pprint显示所有变量的内容时,发现contents的值是空的('')——这可能是什么原因呢?

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 个回答

2

你从来没有对你的 strio 变量做任何事情。你需要把它传递给某个函数,这样才能往里面写东西。

5

看看那些涉及到 StringIO 的代码行。

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

这些语句都没有从 curlobj 中获取内容。所以 strio 是空的。


补充说明(感谢 @Alexander Cameron 和 @agf):

也许你想表达的是

curlobj.setopt(pycurl.WRITEFUNCTION, strio.write)    

撰写回答