python - 如何将变量传递给 IPython 中的魔术“运行”函数

标签 python ipython ipython-magic

我想做如下的事情:

In[1]: name = 'long_name_to_type_every_now_and_then.py'

In[2]: %run name

但这实际上试图运行'name.py',这不是我想要做的。

有没有一种通用的方法可以将变量转换为字符串?

类似于以下内容:

In[3]: %run %name%

最佳答案

IPython 用 $name 扩展变量,bash 风格。 所有魔法都是如此,而不仅仅是%run

所以你会这样做:

In [1]: filename = "myscript.py"

In [2]: %run $filename
['myscript.py']

myscript.py 包含:

import sys
print(sys.argv)

通过 Python 的花哨字符串格式,您甚至可以将表达式放入 {}:

In [3]: args = ["arg1", "arg2"]

In [4]: %run $filename {args[0]} {args[1][-2:]}
['myscript.py', 'arg1', 'g2']

关于python - 如何将变量传递给 IPython 中的魔术“运行”函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14409167/

相关文章:

python - 尝试使用未初始化的值InceptionV3/Mixed_6d/Branch_3/Conv2d_0b_1x

python - 如何在 OS X 上使用 Python 中的 matplotlib 生成 Cocoa 可识别的图(最好是 Leopard)

IPython:如何有选择且安全地删除 IPython 的历史记录?

python - IPython %run magic -n 开关不工作

python - 无法执行通过%paste%指定的函数

python - 在 Django 的 subview 中获取 url 父参数

python - 在 python 中用 cv2 填充图像的 "holes"不起作用

Python 未在图中正确设置范围

ipython - %%time 在 Jupyter 笔记本中的 Windows 上不返回 CPU 时间

python - Pyplot - 可视化列表的直方图