0

在 Jupyter Notebook 中,我试图将 IPython%%prun魔术函数的结果保存到位于当前目录的子文件夹中的特定文件中,例如filename = r'subfoler\profile_result.txt'. 我希望能够通过链接这个文件名

%%prun -T filename
...

但是,当我这样做时,它只是将探查器输出打印到filename当前目录中调用的文件中。这个问题有一个类似的问题,解决方法是通过变量传入$filename。这不起作用,而只是将输出保存到一个名为$filename. 这是一个错误,是不可能做我想做的事,还是我错误地传递了 python 变量?

4

1 回答 1

0

%prun文档有这个注释:

    .. versionchanged:: 7.3
       User variables are no longer expanded,
       the magic line is always left unmodified.

我不确定通常在哪里进行扩展,但prun现在使用

opts, arg_str = self.parse_options(parameter_s, 'D:l:rs:T:q',
                                       list_all=True, posix=False)

处理论点。

%history另一方面使用

@magic_arguments
@argument...
args = parse_argstring(self.history, parameter_s)

在不深入细节的情况下,这是一条不同的解析路线。

我有版本 IPython 7.16.1

%debug,%time%timeit有相同的注释。

相关的拉取请求:https ://github.com/ipython/ipython/pull/11516/

推理:“对于需要 Python 代码的魔法最有用,例如 %timeit 等。”

于 2020-08-19T19:42:16.383 回答