0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python監(jiān)控Github項(xiàng)目如何更新并自動(dòng)下載

科技綠洲 ? 來(lái)源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-11-03 15:45 ? 次閱讀

讓我們 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)控
    +關(guān)注

    關(guān)注

    6

    文章

    2162

    瀏覽量

    55041
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1472

    瀏覽量

    61749
  • python
    +關(guān)注

    關(guān)注

    55

    文章

    4767

    瀏覽量

    84375
  • GitHub
    +關(guān)注

    關(guān)注

    3

    文章

    465

    瀏覽量

    16359
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    關(guān)于STC單片機(jī)的自動(dòng)下載

    _AUTOLOAD_#include void AutoLoad_Init(void);#endif#endif通過(guò)使能宏定義可設(shè)置自動(dòng)下載的使能與否本部分源碼可從GitHub獲得,該項(xiàng)目
    發(fā)表于 12-16 09:34

    Github發(fā)布史上最大更新

    看好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

    【技術(shù)雜談】超全 Python 速查表登上 GitHub 熱榜,標(biāo)星 4600+

    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項(xiàng)目結(jié)構(gòu)

    Python自動(dòng)項(xiàng)目結(jié)構(gòu)分享
    發(fā)表于 04-15 10:34

    Python項(xiàng)目標(biāo)準(zhǔn)結(jié)構(gòu)推薦

    在真正項(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構(gòu)建STM32CubeIDE項(xiàng)目?

    我正在考慮將 GitHub 操作用于 CI/CD。我找不到任何有關(guān)如何使用 GitHub 操作自動(dòng)構(gòu)建 STM32CubeIDE 項(xiàng)目的示例。任何提示/方向?
    發(fā)表于 12-08 06:40

    如何保存自動(dòng)更新下載的文件

    如何保存自動(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上有些什么好玩的項(xiàng)目_github開(kāi)源項(xiàng)目排名

    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次閱讀

    Python機(jī)器學(xué)習(xí)開(kāi)源項(xiàng)目分析過(guò)程中的見(jiàn)解和趨勢(shì)

    開(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次閱讀

    WebSpider——多個(gè)python爬蟲(chóng)項(xiàng)目下載

    此文檔包含多個(gè)python爬蟲(chóng)項(xiàng)目
    發(fā)表于 03-26 09:29 ?3次下載

    GitHub發(fā)布史上最大更新

    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)目上榜詳情

    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次閱讀

    上傳本地項(xiàng)目代碼到github

    GitHub是一個(gè)面向開(kāi)源及私有軟件項(xiàng)目的托管平臺(tái),因?yàn)橹恢С謌it 作為唯一的版本庫(kù)格式進(jìn)行托管,故名GitHub。本文主要講解如何將本地代碼上傳至Github。
    的頭像 發(fā)表于 11-14 16:45 ?1035次閱讀
    上傳本地<b class='flag-5'>項(xiàng)目</b>代碼到<b class='flag-5'>github</b>

    Python實(shí)現(xiàn)自動(dòng)駕駛

    今天來(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次下載
    <b class='flag-5'>Python</b>實(shí)現(xiàn)<b class='flag-5'>自動(dòng)</b>駕駛

    如何使用Github高效率的查找項(xiàng)目

    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次閱讀
    如何使用<b class='flag-5'>Github</b>高效率的查找<b class='flag-5'>項(xiàng)目</b>