IPython 笔记本:%运行 对非 python 文件类型的魔法
IPython Notebook: %run magic on non-python file types
在笔记本中,很容易 运行 使用 %run
的外部 python 模块。例如,如果我想 运行 foo.py:
%run foo
但是如何 运行 一个不以 .py
结尾的文件?例如,如果我有一个 bash 脚本,bar
。当我尝试时:
%run bar
ERROR: File `u'$bar.py'` not found.
不久前,有人向我展示了如何传递文件名,这样 %run
就不会附加 .py 后缀,但我无法挖掘它!
谢谢
为什么我想这样做的一些背景
感谢您的评论。为了说明为什么我想做这样的事情,我们正在 IPython 笔记本中为入门编程 class 的学生分发作业,并希望他们使用 nbconvert
提交它作为 HTML 文件。他们中的许多人使用 windows,并使用 Canopy 作为他们的 Python 发行版。要 "open a terminal, cd to the working directory and running nbconvert" 会很困难,尤其是当 nbconvert 不在其环境变量中时。对我们来说,只需要一个他们可以从笔记本环境中 运行 的单行代码就容易多了。
ipythonsuggests 的创建者:
%%bash
. ~/.bashrc
是的,%%bash 魔法效果很好。抱歉我没听清楚。
%%bash
ipython nbconvert --to html worldmap_notebook.ipynb
在笔记本中,很容易 运行 使用 %run
的外部 python 模块。例如,如果我想 运行 foo.py:
%run foo
但是如何 运行 一个不以 .py
结尾的文件?例如,如果我有一个 bash 脚本,bar
。当我尝试时:
%run bar
ERROR: File `u'$bar.py'` not found.
不久前,有人向我展示了如何传递文件名,这样 %run
就不会附加 .py 后缀,但我无法挖掘它!
谢谢
为什么我想这样做的一些背景
感谢您的评论。为了说明为什么我想做这样的事情,我们正在 IPython 笔记本中为入门编程 class 的学生分发作业,并希望他们使用 nbconvert
提交它作为 HTML 文件。他们中的许多人使用 windows,并使用 Canopy 作为他们的 Python 发行版。要 "open a terminal, cd to the working directory and running nbconvert" 会很困难,尤其是当 nbconvert 不在其环境变量中时。对我们来说,只需要一个他们可以从笔记本环境中 运行 的单行代码就容易多了。
ipythonsuggests 的创建者:
%%bash
. ~/.bashrc
是的,%%bash 魔法效果很好。抱歉我没听清楚。
%%bash
ipython nbconvert --to html worldmap_notebook.ipynb