抱歉,这很简单:
Python和Python与Twitter的流API接口的新手,尝试在Python 3.2上使用tweetstream来完成此操作。
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数据应为字节或字节的可迭代。它不能是字符串。
谢谢。
发布于 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中,如果您这样做
b = bytes('a')
print type(b)您将获得类型字符串
在python 3中,如果您这样做
b = bytes('a')
print(type(b))你会得到类型"bytearray“
https://stackoverflow.com/questions/10046142
复制相似问题