温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python怎么监控Github项目更新并自动下载

发布时间:2021-10-19 09:30:19 来源:亿速云 阅读:148 作者:柒染 栏目:大数据

Python怎么监控Github项目更新并自动下载,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

如果你有自己在本地维护一个开源代码库,你就会知道检测这些库是否更新了是多麻烦的一件事情。随着库的增大,人工维护成本也就越来越大。因此便有了这个项目的想法:用Python监控Github项目是否有更新,如果有的话自动下载该更新

1.统一文件名格式

为了能够获取github上的项目的更新时间,我们需要调用github的一个API:

https://api.github.com/repos/用户名/库名

可以看到,这个API由 用户名/库名 组成,因此我们的文件名应该以它为标准才能方便API的调用,由于文件名不可以带有 '/' 这样的特殊符号,因此我们改为下划线分割,如FastText项目调用API的时候为:

https://api.github.com/repos/facebookresearch/fastText

我们保存的文件名则为 facebookresearch_fastText.zip 
这样,在调用API、下载文件的时候将会方便许多Python怎么监控Github项目更新并自动下载

2.获得文件夹里所有文件名及最后修改时间

为了判断github上的项目是否相对于本地有更新,我们需要获得每一个本地的文件的最后修改时间,因此这是一个字典关系。代码如下:

Python怎么监控Github项目更新并自动下载

3.与Github线上项目对比更新时间

首先我们要通过调用我们前面说提到的API 获取github线上项目的时间。其次,一定要将其格式化为10位时间戳,因为我们第二步获得的时间也是10位时间戳,这样对比起来非常方便。最后返回的时候只需要返回是否需要更新即可。如图所示。

Python怎么监控Github项目更新并自动下载

代码如下:

Python怎么监控Github项目更新并自动下载

4.如果有需要更新的项目,让其自动下载

由于许多github项目文件压缩包都挺大的,我们这里采用了流式下载。如果你的项目特别多,你需要更快地进行下载,请采用批量异步下载。在我们之前的那篇文章里都有,点击即可阅读。

Python怎么监控Github项目更新并自动下载

5. 整套流程

我们把已经下载好的项目文件放在libs文件夹里,自动下载得到的文件放置在new文件夹中。文件结构如下:

F:\pythondict\pythondict-downloads\
│ superviser.py

├─libs
│ facebookresearch_fastText.zip
│ facebookresearch_MUSE.zip

└─new

整套代码如下,为了防范盗取文章的家伙,原谅我这里是图片的格式,如果需要请复制以下链接或点击阅读原文查看本部分:
https://pythondict.com/download/python-watch-github-update-download/

Python怎么监控Github项目更新并自动下载

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI