web-dev-qa-db-ja.com

Jupyterノートブックサーバー上のパスにあるすべてのファイルをダウンロードする

割り当てのためにJupyterノートブックを実行するクラスのユーザーとして、Webインターフェースを介して割り当てにアクセスできます。割り当てはサーバー上の個人用スペースのどこかに保存されていると想定しているため、ダウンロードできるはずです。個人ユーザー空間にあるすべてのファイルをダウンロードするにはどうすればよいですか? (例:wget

パス構造は次のとおりです。

https://urltoserver/user/username

割り当て、データなど、いくつかのディレクトリがあります。

https://urltoserver/user/username/assignments

https://urltoserver/user/username/data

...

すべてのフォルダーを(再帰的に)ダウンロードしたい。ローカルでオンラインに表示されるものは何でも起動できます。禁止されているフォルダがある場合は、それらをスキップして残りをダウンロードします。

自分で理解できなかったコマンドを正確に指定してください(wgetを試しました)

28
Ali

これをノートブックの別のセルとして実行してみてください。

!tar chvfz notebook.tar.gz *

ツリーの上のフォルダをさらにカバーしたい場合は、ディレクトリの各ステップで../の前に*を記述します。ファイルnotebook.tar.gzは、ノートブックと同じフォルダーに保存されます。

97

「新規」メニューから新しいターミナルを作成し、 https://stackoverflow.com/a/47355754/8554972 で説明されているコマンドを呼び出すことができます。

tar cvfz notebook.tar.gz *

Notebook.tar.gzファイルは、ノートブックと同じフォルダーに保存されます。

6

Andrew Ng教授のDeeplearning.aiプログラムをCourseraで受講しています。カリキュラムはJupyterノートブックをオンラインで使用します。ノートブックに加えて、大きなファイルのあるフォルダーがあります。これは、関連付けられたファイルとフォルダーのすべての割り当てをローカルのWindows 10 PCに正常にダウンロードするために使用したものです。

上記のSerzan Akhmetovによる投稿で提案されているように、次のコード行から始めます。

!tar cvfz allfiles.tar.gz *

これによりtarballが生成されます。十分に小さい場合は、Jupyterノートブック自体からダウンロードし、7-Zipを使用して解凍できます。ただし、このコースには、サイズが数百MBの個別ファイルと、数百のサンプル画像が含まれるフォルダーがあります。結果のtarballは大きすぎて、ブラウザからダウンロードできません。

次のように、コードをもう1行追加して、ファイルを管理可能なチャンクサイズに分割します。

!split -b 50m allfiles.tar.gz allfiles.tar.gz.part.

これにより、アーカイブはサイズ50 Mb(またはお好みのサイズ設定)の複数の部分に分割されます。各部分には、allfiles.tar.gz.part.xxのような拡張子が付きます。以前のように各パーツをダウンロードします。

最後のタスクは、マルチパートアーカイブを展開することです。これは、7-Zipでは非常に簡単です。シリーズの最初のファイルを選択して、7-Zipで抽出します。これは、使用例ではallfiles.tar.gz.part.aaという名前のファイルです。同じフォルダ内にある限り、必要なすべてのパーツをまとめます。

これが上記のSerzanの優れた答えに追加されることを願っています。

3
Sun Bee

最も簡単な方法は、tarを使用してすべてのコンテンツをアーカイブすることですが、ファイルのダウンロード用のAPIもあります。

GET /files/_FILE_PATH_

フォルダ内のすべてのファイルを取得するには、次を使用できます。

GET /api/contents/work

例:

curl https://server/api/contents?token=your_token
curl https://server/files/path/to/file.txt?token=your_token --output some.file

ソース: Jupyter Docs

1
Alexander

wget -rオプションを使用しても、wgetでこれが可能になるとは思わない。個別にダウンロードする必要がある場合があります(ダッシュボードビューの[ダウンロード]オプション(ディレクトリ、実行中の単一のノートブックアイテムでのみ使用可能)を使用できる場合)。

ただし、教師がnbgraderなどの採点ソフトウェアを使用している場合、ノートブック自体にアクセスできる学生は望ましくない-ノートブックには回答に関する情報も含まれている可能性があるため、ダウンロードできない可能性があります。

0
Louise Davies