Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何检查文件是否已在缓存中?_Python - Fatal编程技术网

Python 如何检查文件是否已在缓存中?

Python 如何检查文件是否已在缓存中?,python,Python,我正在开发一个工具,可以在你的Twitter帐户上发布游戏的Ingame新闻更新。在过去的几天里,我搜索了一个解决方案,找到一种方法来查看图片是否已经在缓存中,这样如果游戏的新闻提要更新在线,它就不会再次发布,它应该只发布新的,而跳过旧的(事实上,它再次发布了所有活动新闻源),问题是无法做到。我对它进行了大约100次测试,但它不起作用。我真的希望你们中的一位能够帮助我解决这个问题,因为如果这个工具能够用这样的方法工作,那将是非常棒的。提前感谢每一位帮助 这是我的密码: import tweepy

我正在开发一个工具,可以在你的Twitter帐户上发布游戏的Ingame新闻更新。在过去的几天里,我搜索了一个解决方案,找到一种方法来查看图片是否已经在缓存中,这样如果游戏的新闻提要更新在线,它就不会再次发布,它应该只发布新的,而跳过旧的(事实上,它再次发布了所有活动新闻源),问题是无法做到。我对它进行了大约100次测试,但它不起作用。我真的希望你们中的一位能够帮助我解决这个问题,因为如果这个工具能够用这样的方法工作,那将是非常棒的。提前感谢每一位帮助

这是我的密码:

import tweepy
import time
from colorama import *
init()

auth = tweepy.OAuthHandler('API', 'APISECRET')
auth.set_access_token('ACESS', 'ACESSSECRET')

response = requests.get('https://fortnite-api.com/v2/news/br')
newsData = response.json()["data"]


#-----
footer = '#Fortnite'
delay = 5
saveImages = True
#-----

while 1:
    response = requests.get('https://fortnite-api.com/v2/news/br')
    if response:
        newsDataLoop = response.json()["data"]
        print("2 - Checking for change in news feed...")

        if newsData != newsDataLoop:
        #if loop == True:
            print("News Feed has changed...")
            for i in newsDataLoop["motds"]:
                try:
                    print("Saving: "+i["id"])
                    url = i["image"]
                    r = requests.get(url, allow_redirects=True)
                    open("NewsImages/"+i["id"]+'.png', 'wb').write(r.content)
                    print("Saved: "+i["id"])
                    try:
                        api = tweepy.API(auth)
                        api.update_with_media("NewsImages/"+i["id"]+'.png',"Fortnite News Update:\n\n"+i["title"]+":\n"+i["body"]+"\n\n"+footer)
                        print("Tweeted: "+i["id"])
                    except:
                        print("Failed to tweet: "+i["id"])
                    if saveImages == 'False':
                        os.remove("NewsImages/"+i["id"]+'.png')

                    response = requests.get('https://fortnite-api.com/v2/news/br')
                    newsData = response.json()["data"]
                except:
                    print("Error in tweeting news feed: skipping")
            print("Finished news feed publishing")
    else:
        print("FAILED TO GRAB NEWS DATA: URL DOWN")

    time.sleep(delay)

您需要检查每个
motd
,以查看它是否存在于旧数据集中

导入tweepy
导入时间
从colorama进口*
init()
auth=tweepy.OAuthHandler('API','APISECRET')
身份验证设置\u访问\u令牌('ACESS','ACESSSECRET')
response=requests.get('https://fortnite-api.com/v2/news/br')
newsData=response.json()[“数据”]
#-----
页脚=“#Fortnite”
延迟=5
saveImages=True
#-----
而1:
response=requests.get('https://fortnite-api.com/v2/news/br')
如果回答:
newsDataLoop=response.json()[“数据”]
打印(“2-检查新闻提要中的更改…”)
如果newsData!=newsDataLoop:
#如果循环==True:
打印(“新闻提要已更改…”)
对于newsDataLoop[“motds”]中的i:
如果我在newsData[“motds”]中:
#已经发布了
打印(“已发布”)
持续
尝试:
打印(“保存:+i[“id”])
url=i[“图像”]
r=requests.get(url,allow\u redirects=True)
打开(“NewsImages/”+i[“id”]+'.png”,“wb')。写入(r.content)
打印(“已保存:+i[“id”])
尝试:
api=tweepy.api(auth)
api.update_与_媒体(“NewsImages/”+i[“id”]+'.png',“Fortnite新闻更新:\n\n”+i[“title”]+“:\n”+i[“body”]+“\n\n”+页脚)
打印(“推特:+i[“id”])
除:
打印(“未能发送推文:+i[“id”])
如果saveImages==“False”:
删除(“NewsImages/”+i[“id”]+'.png”)
response=requests.get('https://fortnite-api.com/v2/news/br')
newsData=response.json()[“数据”]
除:
打印(“推特新闻提要中出错:跳过”)
打印(“已完成的新闻提要发布”)
其他:
打印(“抓取新闻数据失败:URL向下”)
时间。睡眠(延迟)

您需要检查每个
motd
以查看它是否存在于旧数据集中

导入tweepy
导入时间
从colorama进口*
init()
auth=tweepy.OAuthHandler('API','APISECRET')
身份验证设置\u访问\u令牌('ACESS','ACESSSECRET')
response=requests.get('https://fortnite-api.com/v2/news/br')
newsData=response.json()[“数据”]
#-----
页脚=“#Fortnite”
延迟=5
saveImages=True
#-----
而1:
response=requests.get('https://fortnite-api.com/v2/news/br')
如果回答:
newsDataLoop=response.json()[“数据”]
打印(“2-检查新闻提要中的更改…”)
如果newsData!=newsDataLoop:
#如果循环==True:
打印(“新闻提要已更改…”)
对于newsDataLoop[“motds”]中的i:
如果我在newsData[“motds”]中:
#已经发布了
打印(“已发布”)
持续
尝试:
打印(“保存:+i[“id”])
url=i[“图像”]
r=requests.get(url,allow\u redirects=True)
打开(“NewsImages/”+i[“id”]+'.png”,“wb')。写入(r.content)
打印(“已保存:+i[“id”])
尝试:
api=tweepy.api(auth)
api.update_与_媒体(“NewsImages/”+i[“id”]+'.png',“Fortnite新闻更新:\n\n”+i[“title”]+“:\n”+i[“body”]+“\n\n”+页脚)
打印(“推特:+i[“id”])
除:
打印(“未能发送推文:+i[“id”])
如果saveImages==“False”:
删除(“NewsImages/”+i[“id”]+'.png”)
response=requests.get('https://fortnite-api.com/v2/news/br')
newsData=response.json()[“数据”]
除:
打印(“推特新闻提要中出错:跳过”)
打印(“已完成的新闻提要发布”)
其他:
打印(“抓取新闻数据失败:URL向下”)
时间。睡眠(延迟)

我能不能让机器人打印“已经发布”之类的内容?是的,在我的评论
#已经发布后添加一条打印语句
。我能不能让机器人打印“已经发布”之类的内容?是的,在我的评论
#已经发布后添加一条打印语句