Tweepy SaveFile 未定义

Tweepy SaveFile not defined

我是 Python 的初学者,我正在尝试使用 Tweepy 保存一些推文,但这样做时我很难将它们写入文件。

我收到未定义 saveFile 的错误。

class 监听器(StreamListener):

def on_data(self, data):
    try:
        print data
        safeFile = open('twitDb.csv', 'w')
        saveFile.write (data)
        saveFile.write('\n')
        saveFile.close()
        return True
    except BaseException, e:
        print'failed ondata,',str(e)

def on_error (self, status):
    print status

auth = OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, access_token_secret)

twitterStream = Stream(auth, listener()) twitterStream.filter(曲目=['prime'])

我的令牌似乎工作正常,推文确实在空闲时流式传输。文件出现了,但里面什么都没有

错误代码是

数据失败,全局名称'saveFile'未定义

它确实如前所述打印数据

错误一定是因为打字错误 - 请注意这里使用的变量名 不是 saveFile

safeFile = open('twitDb.csv', 'w')

还要考虑到您在 "w" 模式下为每条推文打开文件 - 现在的代码是每次收到推文时都会覆盖文件。

更好的方法是在初始化监听器时打开文件(__init__),然后从on_data:

写入
class listener(StreamListener):
  def __init__(self):
    self.saveFile = open('twitDb.csv', 'w')

记得在工作完成后关闭文件。

顺便说一句,有一个 csv 模块可以帮助读取和写入 CSV 文件:https://docs.python.org/3/library/csv.html

脚本中的错字,将 safeFile = open('twitDb.csv', 'w') 更改为 saveFile = open('twitDb.csv', 'w')

我的建议是开始使用 IDE 或为您突出显示拼写错误的编辑器,例如 PyCharm