2

ipthon ノートブックでwritefile などのマジック関数で環境変数を使用できますか?

%env WORKING_DIR=/my/path/to/my/file
!echo $WORKING_DIR

/my/path/to/my/file

しかし

%%writefile $WORKING_DIR/myfile.txt
sometext

IOError: [Errno 2] そのようなファイルまたはディレクトリはありません: '$WORKING_DIR/myfile.txt'

4

1 に答える 1

3

%%writefile $WORKING_DIR/myfile.txtPython変数の展開を行います。WORKING_DIRしたがって、これを機能させるには python 変数が必要です。$FOOシェルアウトし、生の$WORKING_DIR文字列を取得する魔法を使用している場合にのみ、env 変数として機能します。その場合、シェルは変数展開を行います。

以下の例を参照してください。

In [1]: foo = 'a.py'

In [2]: %%writefile $foo
   ...: hi
   ...:
Writing a.py

In [3]: %env BAR=b.py
env: BAR=b.py

In [4]: import os

In [5]: %%writefile {os.environ['BAR']}
   ...: this is bar
   ...:
Writing b.py
于 2015-06-24T08:39:37.350 に答える