讓我們 用Python監(jiān)控Github項(xiàng)目是否有更新,如果有的話(huà)自動(dòng)下載該更新 !
1.統(tǒng)一文件名格式
為了能夠獲取github上的項(xiàng)目的更新時(shí)間,我們需要調(diào)用github的一個(gè)API:
https://api.github.com/repos/用戶(hù)名/庫(kù)名
可以看到,這個(gè)API由 用戶(hù)名/庫(kù)名 組成,因此我們的文件名應(yīng)該以它為標(biāo)準(zhǔn)才能方便API的調(diào)用,由于文件名不可以帶有 '/' 這樣的特殊符號(hào),因此我們改為下劃線(xiàn)分割,如FastText項(xiàng)目調(diào)用API的時(shí)候?yàn)椋?/p>
https://api.github.com/repos/facebookresearch/fastText
我們保存的文件名則為** facebookresearch_fastText.zip**
這樣,在調(diào)用API、下載文件的時(shí)候?qū)?huì)方便許多
2.獲得文件夾里所有文件名及最后修改時(shí)間
為了判斷github上的項(xiàng)目是否相對(duì)于本地有更新,我們需要獲得每一個(gè)本地的文件的最后修改時(shí)間,因此這是一個(gè)字典關(guān)系。代碼如下:
3.與Github線(xiàn)上項(xiàng)目對(duì)比更新時(shí)間
首先我們要通過(guò)調(diào)用我們前面說(shuō)提到的API 獲取github線(xiàn)上項(xiàng)目的時(shí)間。其次,一定要將其格式化為10位時(shí)間戳,因?yàn)槲覀兊诙将@得的時(shí)間也是10位時(shí)間戳,這樣對(duì)比起來(lái)非常方便。最后返回的時(shí)候只需要返回是否需要更新即可。如圖所示。
代碼如下:
4.如果有需要更新的項(xiàng)目,讓其自動(dòng)下載
由于許多github項(xiàng)目文件壓縮包都挺大的,我們這里采用了流式下載。如果你的項(xiàng)目特別多,你需要更快地進(jìn)行下載,請(qǐng)采用批量異步下載。在我們之前的那篇文章里都有,點(diǎn)擊即可閱讀。
5. 整套流程
我們把已經(jīng)下載好的項(xiàng)目文件放在libs文件夾里,自動(dòng)下載得到的文件放置在new文件夾中。文件結(jié)構(gòu)如下:
F:pythondictpythondict-downloads
│ superviser.py
│
├─libs
│ facebookresearch_fastText.zip
│ facebookresearch_MUSE.zip
│
└─new
整套代碼如下,為了防范盜取文章的家伙,原諒我這里是圖片的格式,如果需要請(qǐng)復(fù)制以下鏈接或點(diǎn)擊閱讀原文查看本部分:
https://pythondict.com/download/python-watch-github-update-download/
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
監(jiān)控
-
API
-
python
-
GitHub
相關(guān)推薦
_AUTOLOAD_#include void AutoLoad_Init(void);#endif#endif通過(guò)使能宏定義可設(shè)置自動(dòng)下載的使能與否本部分源碼可從GitHub獲得,該項(xiàng)目
發(fā)表于 12-16 09:34
看好Github以后的走向,出了很多調(diào)侃。比方說(shuō)充值會(huì)員才能搜索下載項(xiàng)目,但是從這幾個(gè)月的風(fēng)聲來(lái)看其實(shí)一切都發(fā)展的還不錯(cuò)。就在上個(gè)月的時(shí)候Github剛做過(guò)一個(gè)
發(fā)表于 10-17 10:03
Advanced Python內(nèi)容。而且還有文本文件可以下載。目前,這份資源已經(jīng)獲得4600+標(biāo)星,登上了GitHub趨勢(shì)榜。核心是代碼這份資源中,核心是代碼,基本沒(méi)有廢話(huà)。比如說(shuō),在類(lèi)型方面,只是簡(jiǎn)單地介紹
發(fā)表于 07-17 04:00
Python自動(dòng)化項(xiàng)目結(jié)構(gòu)分享
發(fā)表于 04-15 10:34
在真正項(xiàng)目中,一般使用PyCharm或VSCode開(kāi)發(fā)。那有的小伙伴就問(wèn)了,項(xiàng)目文件目錄有沒(méi)有一個(gè)標(biāo)準(zhǔn)的結(jié)構(gòu)?應(yīng)該沒(méi)有唯一的統(tǒng)一標(biāo)準(zhǔn),但Python社區(qū)大佬Kenneth Reitz在2013年提出
發(fā)表于 03-28 15:56
我正在考慮將 GitHub 操作用于 CI/CD。我找不到任何有關(guān)如何使用 GitHub 操作自動(dòng)構(gòu)建 STM32CubeIDE 項(xiàng)目的示例。任何提示/方向?
發(fā)表于 12-08 06:40
如何保存自動(dòng)更新下載的文件
問(wèn):為了避免重裝系統(tǒng)后Windows XP總是“自動(dòng)更新”,所以我想問(wèn)一下專(zhuān)家:到底Windows XP下載回來(lái)的更
發(fā)表于 03-01 10:32
?1039次閱讀
GitHub主要用Rails實(shí)現(xiàn)。我們?cè)谶M(jìn)行的post-commit集成小應(yīng)用完全使用Merb編寫(xiě)。我們使用了Python的Pygments來(lái)做格式高亮顯示,另外,還用了Ara T. Howard
發(fā)表于 11-29 17:35
?2.4w次閱讀
開(kāi)源是技術(shù)創(chuàng)新和快速發(fā)展的核心。這篇文章向你展示Python機(jī)器學(xué)習(xí)開(kāi)源項(xiàng)目以及在分析過(guò)程中發(fā)現(xiàn)的非常有趣的見(jiàn)解和趨勢(shì)。 我們分析了GitHub上的前20名Python機(jī)器學(xué)習(xí)
發(fā)表于 12-16 08:56
?732次閱讀
此文檔包含多個(gè)python爬蟲(chóng)項(xiàng)目
發(fā)表于 03-26 09:29
?3次下載
10 月 16 日,在年度 GitHub Universe 正式召開(kāi),在大會(huì)上不僅發(fā)布了GitHub重大更新,還帶來(lái)了 2018 年的年度報(bào)告
發(fā)表于 11-03 09:31
?4580次閱讀
10月份GitHub上最熱門(mén)的Python開(kāi)源項(xiàng)目排行已經(jīng)出爐啦,一起來(lái)看看上榜詳情吧: 1 GHunt https://github.com/mxrch/GHunt Star 4.8
發(fā)表于 11-05 15:29
?1785次閱讀
GitHub是一個(gè)面向開(kāi)源及私有軟件項(xiàng)目的托管平臺(tái),因?yàn)橹恢С謌it 作為唯一的版本庫(kù)格式進(jìn)行托管,故名GitHub。本文主要講解如何將本地代碼上傳至Github。
發(fā)表于 11-14 16:45
?1035次閱讀
今天來(lái)一個(gè)好玩一點(diǎn)的,汽車(chē)已經(jīng)能夠自動(dòng)駕駛了,Python怎么能沒(méi)有呢?這不,必須安排上。 一、安裝環(huán)境 gym是用于開(kāi)發(fā)和比較強(qiáng)化學(xué)習(xí)算法的工具包,在python中安裝gym庫(kù)和其中子場(chǎng)景都較為
發(fā)表于 06-06 10:43
?1次下載
GitHub各位應(yīng)該都很熟悉了,全球最大的開(kāi)源社區(qū),也是全球最大的同性交友網(wǎng)站~~,但是大部分同學(xué)使用GitHub應(yīng)該就是通過(guò)別人的開(kāi)源鏈接,點(diǎn)進(jìn)去下載對(duì)應(yīng)的項(xiàng)目,而真正使用
發(fā)表于 09-24 14:43
?647次閱讀
評(píng)論