首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError连接到tweetstream -- Python3.2

TypeError连接到tweetstream -- Python3.2
EN

Stack Overflow用户
提问于 2012-04-07 00:15:25
回答 1查看 375关注 0票数 0

抱歉,这很简单:

Python和Python与Twitter的流API接口的新手,尝试在Python 3.2上使用tweetstream来完成此操作。

代码语言:javascript
复制
import tweetstream
stream = tweetstream.FilterStream(username = "myusername", password = "mypassword", track = bytes("oprah", encoding = "utf-8"))
for tweet in stream:
    print(tweet)

抛出:

TypeError: sequence item 0:应为字符串实例,找到的是int

我对'track‘参数进行了编码,因为之前传递字符串的尝试抛出了,

TypeError: POST数据应为字节或字节的可迭代。它不能是字符串。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-07 01:20:45

您的问题是您正在使用带有Python2包的Python3。

有关Python3字节的信息,请参阅此处:

http://docs.python.org/release/3.0.1/library/functions.html#bytes

还有这一点:

http://docs.python.org/whatsnew/2.6.html#pep-3112-byte-literals

在python3中,这将发送一个字节数组。但是,_get_post_data函数需要一个字符串。在Python3和python2中处理字符串的方式是完全不同的,对于那些希望移植到python3的人来说,这是令人沮丧的原因。

除非此包使其与Python3兼容,否则您将需要使用Python2。当然,你也可以自己做,但是考虑到你将要使用的任何其他包也将被限制在使用python2,我建议你这样做。

基本上,在python 2.6/2.7中,如果您这样做

代码语言:javascript
复制
b = bytes('a')
print type(b)

您将获得类型字符串

在python 3中,如果您这样做

代码语言:javascript
复制
b = bytes('a')
print(type(b))

你会得到类型"bytearray“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10046142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档