4

Github アカウントから特定のファイルを定期的にダウンロードするスクリプトを作成する必要があります。私が探していると思われるこの Github ページを見てきましたが、動作させることができませんでした。おそらくこれは、「username」ではなく「user」フィールドが何であるかをよく理解していないためです。誰かがこの方法で成功した場合、例を挙げていただけますか? また、別の方法があれば教えていただけないでしょうか。前もって感謝します!

4

3 に答える 3

1

ファイルタイプによって異なります。非バイナリの場合、ファイルを github で開いているときに「編集」の横にある「生」ボタンをクリックすると、ファイルの URL を取得できます。次に、使用するcurlwget、ダウンロードするだけです。

ここに物事を明確にするための写真があります:

ここに画像の説明を入力

次に、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 に答える