web-dev-qa-db-ja.com

IPythonノートブックセルにテキストファイル(.py)をロード/編集/実行/保存するにはどうすればいいですか?

私は最近、私のワークフローの一部としてIPythonノートブックを使うことに移行しました。しかし、開いているIPythonノートブックの個々のセルに.pyファイルをインポートして、それらを編集、実行、保存できるようにする方法を見つけることには成功していません。これはできますか?

私は this を新しいノートブックとして.pyファイルをインポートする方法を私に教えてくれるドキュメントで見つけました、しかしこれは私が達成したいものには及ばない。

任意の提案は大歓迎です。

199
aaronsstack

_ edit _ :IPython 3(現在はJupyterプロジェクト)以降、このノートブックにはテキストファイルのロード/編集/保存に便利な代替手段として使用できるテキストエディタがあります。

テキストファイルはマジックコマンド%loadを使ってノートブックセルにロードすることができます。

以下を含むセルを実行すると、

%load filename.py

filename.pyの内容は次のセルにロードされます。通常どおりに編集して実行できます。

セルの内容をファイルに保存するには、セルの先頭にcell-magicの%%writefile filename.pyを追加して実行します。同じ名前のファイルがすでに存在する場合は、 それは暗黙のうちに上書きされます

魔法のコマンドのヘルプを見るには、?%load?のような%%writefile?を追加してください。

マジック関数の一般的なヘルプについては、 "%magic"と入力してください。利用可能なマジック関数のリストを見るには、%lsmagicを使用してください。それらのいずれかの説明を見るには、%magic_name?と入力してください。 '%cd?'。

参照: マジック関数 公式のIPythonドキュメントから

260
user2304916

書く/保存する

%%writefile myfile.py

  • セルの内容をmyfile.pyに書き込む/保存します(追加するには-aを使用します)。別のエイリアス:%%file myfile.py

走る

%run myfile.py

  • myfile.pyを実行し、現在のセルに結果を出力する

ロード/インポートする

%load myfile.py

  • myfile.pyを現在のセルに読み込む

もっと魔法と助けに

%lsmagic

  • 他のクールセルマジックコマンドをすべてリストしてください。

%COMMAND-NAME?

  • 特定のコマンドの使用方法についてのヘルプがあります。すなわち%run?

注意

セルマジックコマンドに加えて、IPythonノートブック(現在のJupyterノートブック)は非常にクールなので、セルから任意のunixコマンドを直接使用できます(これは%%bashセルマジックコマンドを使用するのと同等です)。

セルからunixコマンドを実行するには、コマンドの前に!マークを付けます。例えば:

  • !python --versionあなたのpythonのバージョンを見る
  • !python myfile.pyはmyfile.pyを実行し、%runと同じように現在のセルに結果を出力します(以下のコメントの!python%runの違いを参照してください)。

また、例を伴う詳細な説明については this nbviewer を参照してください。お役に立てれば。

98
Aziz Alto

PythonファイルをIpythonノートブックの「ホーム」ノートブックテーブルにドラッグアンドドロップし、[アップロード]をクリックします。これにより、.pyファイルの内容を含むセルが1つだけの新しいノートブックが作成されます。

それ以外の場合は、お気に入りのエディタからコピー/貼り付けしてください。

7
Raphaël Braud

私はファイルを見つけるためにipythonノートブックの中でlsとcdを使うことがそれで満足であるとわかりました。次に、セルにcat your_file_nameと入力すると、ファイルの内容が返されます。この内容をコードとしてセルに貼り付けることができます。

3
RussellStewart