Python监控Github项目如何更新并自动下载

网友投稿 261 2024-01-26

让我们 用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、下载文件的时候将会方便许多

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

3.与Github线上项目对比更新时间首先我们要通过调用我们前面说提到的API 获取github线上项目的时间其次,一定要将其格式化为10位时间戳,因为我们第二步获得的时间也是10位时间戳,这样对比起来非常方便。

最后返回的时候只需要返回是否需要更新即可如图所示

代码如下:

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

5. 整套流程我们把已经下载好的项目文件放在libs文件夹里,自动下载得到的文件放置在new文件夹中文件结构如下:F:pythondictpythondict-downloads │ superviser.py。

│ ├─libs │ facebookresearch_fastText.zip │ facebookresearch_MUSE.zip │ └─new整套代码如下,为了防范盗取文章的家伙,原谅我这里是图片的格式,如果需要请复制以下链接或点击阅读原文查看本部分:

https://pythondict.com/download/python-watch-github-update-download/

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Rust目前在GPU编程生态方面的现状和前景
下一篇:如何将Pytorch自训练模型变成OpenVINO IR模型形式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~