当前位置: 首页 > 后端技术 > Python

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

时间:2023-03-26 17:58:24 Python

Python监控Github项目更新并自动下载它们是一回事。随着库的增加,人工维护的成本也越来越高。于是就有了这个项目的想法:让我们用Python来监控Github项目有没有更新,如果有就自动下载更新!1.统一文件名格式为了能够获取项目在github上的更新时间,我们需要调用github的一个API:https://api.github.com/repos/username/libraryname可以看到说明这个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文件夹下,自动下载的文件放在新建的文件夹下。文件结构如下:F:pythondictpythondict-downloads│supervisor.py│├─libs│facebookresearch_fastText.zip│facebookresearch_MUSE.zip│└─new整套代码如下,为了防止盗号的家伙文章,恕我这里是图片的格式,如果需要下载,请点这里:我们的文章到此结束。如果你今天想要我们的Python教程,请继续关注我们。如果对您有帮助,请点击下方的赞/观看。有什么问题可以在下方留言区留言,我们会耐心解答!Python实战宝典(pythondict.com)不只是一个合集欢迎关注公众号:Python实战宝典