Github アカウントから特定のファイルを定期的にダウンロードするスクリプトを作成する必要があります。私が探していると思われるこの Github ページを見てきましたが、動作させることができませんでした。おそらくこれは、「username」ではなく「user」フィールドが何であるかをよく理解していないためです。誰かがこの方法で成功した場合、例を挙げていただけますか? また、別の方法があれば教えていただけないでしょうか。前もって感謝します!
質問する
5338 次
3 に答える
1
ファイルタイプによって異なります。非バイナリの場合、ファイルを github で開いているときに「編集」の横にある「生」ボタンをクリックすると、ファイルの URL を取得できます。次に、使用するcurl
かwget
、ダウンロードするだけです。
ここに物事を明確にするための写真があります:
次に、URL をコピーします。
于 2013-07-24T20:05:57.857 に答える
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 を呼び出すと、必要なファイルが取得されます。
git を使用して特定のブランチから 1 つのファイルをチェックアウトする方法の詳細については、Jason Rudolph によるこのチュートリアルを参照してください。
同期されていない場合は、@ jh314 に同意します: wget を使用するだけです
于 2013-07-24T20:24:31.600 に答える
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]])
時間が経過すると、スクリプトが再度呼び出され、終了します。コマンドがエラーなしで終了する限り、コマンドは再び自分自身を呼び出し続けます。
于 2013-07-25T03:47:54.920 に答える