Terminal Error我无法用python理解



我试图在一个文本文件中下载5000条推文作为我的任务的一部分。它给了我错误,我在网上查找了一个解决方案,并试图修复它,但它不能很好地工作。

import tweepy
API_KEY = ("AAAAAAAAAAAAAAAAAAAAAIQDkgEAAAAA%2B5jSmwchB7hT3%2FQ8jh4EGrpZY%2FY%3Dcn2Qvt5oqUP6y03hOywzN7WVUF97kPY27B2pUyeDPleqZvLeAu")
client = tweepy.Client(API_KEY)
query = "covid"
tfile = open("tweets.txt", "w")
response = client.search_recent_tweets(query)
for tweet in tweepy.Paginator(client.search_recent_tweets,
query=query,
max_results=100).flatten(limit=5000):
### WRITE CODE TO SAVE these tweets into a file here.
tweet = str(tweet) + "/n"
tfile.write(tweet)
tfile.close()

我得到的错误信息:

Traceback (most recent call last):                                             
File "data_collection.py", line 15, in <module>                              
tfile.write(tweet)                                                         
ValueError: I/O operation on closed file. 

我试着在网上寻找解决方案和阅读线程。它说这是一个缩进错误。我这样做了,但它仍然显示相同的错误。

使用with语句确保文件关闭,并在适当的时间关闭,而不必显式调用tfile.close

query = "covid"
response = client.search_recent_tweets(query)
with open("tweets.txt", "w") as tfile:
for tweet in tweepy.Paginator(client.search_recent_tweets,
query=query,
max_results=100).flatten(limit=5000):
tweet = str(tweet) + "n"
tfile.write(tweet)

在循环外关闭文件,我认为函数Paginator是一个生成器,它正在使用该文件,因此您无法关闭它

最新更新