基本 Python StringIO —— 为什么 GetValue() 什么也不返回?

发布于 2024-12-01 03:51:58 字数 455 浏览 1 评论 0原文

我遇到了基本的 python 问题。在下面的示例中,没有返回错误,但使用 pprint 显示所有变量的内容显示 contents 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()

有什么想法吗?谢谢

I'm having basic python issues.. In the following example no errors are returned but displaying the contents of all variables using pprint shows that contents is = '' -- why would this possibly be the case?

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()

Any ideas? Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

離殇 2024-12-08 03:51:58

查看涉及 StringIO 的行。

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

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


编辑(感谢@Alexander Cameron 和@agf):

也许你的意思是

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

Look at the lines that involve StringIO.

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

None of these statements draw content from curlobj. So strio is empty.


Edit (thanks to @Alexander Cameron and @agf):

Perhaps you meant

curlobj.setopt(pycurl.WRITEFUNCTION, strio.write)    
·深蓝 2024-12-08 03:51:58

您永远不会对 strio 变量执行任何操作。您必须将其传递给某个函数才能将任何内容写入其中。

You never do anything with your strio variable. You have to pass it in to some function in order for anything to get written to it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文