我是Python的初学者,我正在尝试使用Tweepy保存一些推文,并且这样做我很难将它们写入文件。
我收到未定义saveFile的错误。
类侦听器(StreamListener):
bow
auth = OAuthHandler(consumer_key,consumer_secret) auth.set_access_token(access_token,access_token_secret)
twitterStream = Stream(auth,listener()) twitterStream.filter(轨迹= ['素'])
我的令牌似乎工作正常,而且推文在空闲时流动。虽然那里没有任何内容,但文件显示
错误代码是
ondata失败,全球名称' saveFile'未定义
如上所述打印数据
答案 0 :(得分:0)
错误必须是因为拼写错误 - 请注意,中使用的变量名称不是saveFile 。
safeFile = open('twitDb.csv', 'w')
还要考虑在" w"中打开文件。每条推文的模式 - 现在代码就是每次收到推文都会覆盖文件。
更好的方法是在初始化侦听器(__init__
)时打开文件,然后从on_data写入它:
class listener(StreamListener):
def __init__(self):
self.saveFile = open('twitDb.csv', 'w')
请务必在完成工作后关闭文件。
BTW有一个csv
模块,可以帮助读写CSV文件:https://docs.python.org/3/library/csv.html
答案 1 :(得分:0)
脚本中的TYPO,将safeFile = open('twitDb.csv', 'w')
更改为saveFile = open('twitDb.csv', 'w')
。
我的使用建议是开始使用IDE或编辑器突出显示您的拼写错误,例如PyCharm