【问题标题】:Is There A Way To Mirror Code From a .py File in a Jupyter Notebook? [duplicate]有没有办法从 Jupyter Notebook 中的 .py 文件镜像代码? [复制]
【发布时间】:2017-11-28 20:59:45
【问题描述】:
我想要一些具有来自本地 Python 文件的代码块(如 Raw NBConvert)的笔记本。如果文件内容发生更改,我希望笔记本更新。在 Latex 中,我可以用\lstinputlisting[language=python]{directory/file.py} 做到这一点。我可以在 Jupyter 中做类似的事情吗?
【问题讨论】:
标签:
python
ipython
jupyter-notebook
ipython-notebook
jupyter
【解决方案1】:
我能想到一些可能会有所帮助的可能性。您可以使用魔术命令%load,它将文件的内容加载到单元格中,即如果foo.py 包含单行print('foo'),您可以拥有这样的代码单元格:
%load foo.py
其中,第一次运行时会变成这样:
# % 加载 foo.py
打印('foo')
但这不会在foo.py 更改时自动更新。
我通常做的是将所需的文件作为模块加载,即以 Guido 的方式进行模块化代码:-)。您可以在 Jupyter 的另一个选项卡/窗口中编辑该文件,您可以使用 importlib.reload() 重新加载它。