我需要編寫一個腳本,定期從我的Github帳戶下載特定文件。我見過this Github page這似乎是我正在尋找,但我一直無法得到它的工作。也許這是因爲我不太瞭解「用戶」字段是什麼(而不是「用戶名」)。如果有人用這種方法取得了成功,你能舉個例子嗎?另外,如果您使用其他方法,您能否讓我知道?提前致謝!Bash或Python:如何從Github下載單個指定文件?
2
A
回答
0
這取決於文件類型。對於非二進制文件,當您在github中打開該文件時,您可以通過單擊「編輯」旁邊的「raw」按鈕來獲取文件的url。然後,您只需使用curl
或wget
即可下載。
這裏是一個圖片,把事情說清楚:
然後複製網址:
0
假設文件同步,我會寫一個bash腳本,像這樣:
#!/bin/bash
# file: ./getFromGit
# cd into git-synced directory and update the file
cd /directory/path/
git checkout origin/branch /path/to/file/in/dirStructure
然後
$ chmod u+x ./getFromGit
$ cp getFromGit /usr/local/bin # or wherever your executables like git are
現在從任何你喜歡的目錄,你可以調用getFromGit,它會讓你的文件 想。
查看this tutorial from Jason Rudolph瞭解更多有關使用git從給定分支中檢出單個文件的信息。
如果它是不同步的,我同意@ jh314:只使用wget
0
這應該工作(未經測試,但應該給你一個想法):
import time
import subprocess
import sys
import shlex
if __name__ == "__main__":
cmd = ("curl -L" if sys.platform == "darwin" else "wget")
url = ......
cmd += " {0} -o {1}".format(url, url.split("/")[-1])
p = subprocess.Popen(shlex.split(cmd), stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
(stdout, stderr) = p.communicate()
if stderr:
raise Exception(stderr)
time.sleep(...)
# Call another instance of this script
subprocess.Popen(['python', sys.argv[0]])
它會之後再次調用腳本時間已過,退出。只要命令完成而沒有錯誤,它將繼續再次調用自己。
相關問題
- 1. 如何從Github下載文本文件?
- 2. 如何從GitHub下載單個commit-diff?
- 3. 如何從Github下載Release tar文件?
- 4. 從Github下載RDA文件
- 5. 如何從bash下載文件夾?
- 6. 如何從指定的URL將網頁下載到單個文件中?
- 7. 如何指定使用python下載的文件路徑
- 8. 的Bash或Python從文本文件
- 9. 如何從zippyshare下載bash?
- 10. wget或curl下載已從github壓縮的.app文件
- 11. 從Python下載csv.gz文件
- 12. 從URL下載Python文件
- 13. 從Python 3下載文件
- 14. 如何使用Terraform從GitHub Enterprise下載文件?
- 15. 如何從OWASP(github)下載所有文件?
- 16. 如何從github源代碼下載jar文件?
- 17. 如何從私人Github存儲庫下載二進制文件?
- 18. 運行從GitHub下載使用Python
- 19. 使用PHP(或BASH/Perl)從RSS源下載文件
- 20. 如何下載excel文件到指定文件夾在asp.net
- 21. 使用CSV文件名從FTP或HTTP下載文件 - Python 3
- 22. 如何從單個超鏈接下載多個文件
- 23. 如何通過HTTP從多個位置下載單個文件?
- 24. bash下載文件ftp url
- 25. 如何使從github下載的python項目作爲框架或包?
- 26. 從Android Git下載單個文件
- 27. BASH:如何刪除清單中指定的所有文件?
- 28. 如何使用cURL從GitHub下載tarball?
- 29. 從bash/curl下載web內容到python
- 30. 錯誤:BLOB太大 - 下載從GitHub回購一個zip文件
這是一個python腳本。我知道我可以查看文件的「原始」,但我不確定兩件事: 1.如何獲取RAW網址? 2.下載時如何處理憑證? – oas8df79as8fysf
我認爲使用'wget url'應該可以。 – jh314