2

我可以在我的 ipthon 笔记本中使用具有诸如 writefile 之类的魔法功能的环境变量吗?

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

/我的/路径/到/我的/文件

%%writefile $WORKING_DIR/myfile.txt
sometext

IOError:[Errno 2] 没有这样的文件或目录:'$WORKING_DIR/myfile.txt'

4

1 回答 1

3

%%writefile $WORKING_DIR/myfile.txt扩展Python变量。所以你需要有一个WORKING_DIRpython 变量才能工作。仅当您使用可以输出的魔术并获得原始字符串$FOO时,才可以用作 env 变量。$WORKING_DIR在这种情况下,shell会进行变量扩展。

做你想做的事是可能的,但很复杂,见下面的例子:

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 回答