有没有办法从 Jupyter Notebook 中的 .py 文件镜像代码?

Is There A Way To Mirror Code From a .py File in a Jupyter Notebook?

我想要一些笔记本,其中包含来自本地 Python 文件的代码块(如 Raw NBConvert)。如果文件内容发生变化,我希望笔记本能够更新。在 Latex 中,我可以用 \lstinputlisting[language=python]{directory/file.py} 来做到这一点。我可以在 Jupyter 中做类似的事情吗?

我能想到一些可能有用的可能性。您可以使用魔术命令 %load,它将文件的内容加载到单元格中,即如果 foo.py 包含单行 print('foo'),您可以拥有这样的代码单元格:

%load foo.py

其中,运行第一次时会变成这样: #%负载foo.py 打印('foo')

但是当 foo.py 改变时不会自动更新。

我通常做的是将所需文件作为模块加载,即按照 Guido 的意图加载模块化代码:-)。您可以在 Jupyter 中的另一个 tab/window 中编辑该文件,您可以使用 importlib.reload() 重新加载它。