And*_*ris 55 python import workflow ipython
交互式Python(ipython)简直太神奇了,尤其是当你在飞行中将事物拼凑在一起时...并且这样做很容易回归.
然而,似乎有趣的是具有多个ipython笔记本(ipynb文件)的用例.显然,似乎笔记本不应该与其他笔记本有关系,这是有道理的,除了我想要导入其他ipynb文件.
我看到的唯一解决方法是将我的*.ipynb文件转换为*.py文件,然后将其导入我的笔记本中.让一个文件保存在项目中的所有内容有点奇怪,特别是如果我想真正推动代码重用(这不是python的核心原则吗?).
我错过了什么吗?这不是ipython笔记本支持的用例吗?我可以使用另一种解决方案将ipynb文件导入另一个笔记本吗?我想继续使用ipynb,但它现在正在弄乱我的工作流程:(
joh*_*odo 87
在较新的Jupyter中它非常简单:
%run MyOtherNotebook.ipynb
Run Code Online (Sandbox Code Playgroud)
Mal*_*lgo 28
跑
!pip install ipynb
然后将另一个笔记本导入为
from ipynb.fs.full.<notebook_name> import *
或者
from ipynb.fs.full.<notebook_name> import <function_name>
确保所有笔记本都在同一目录中。
编辑 1:您可以在此处查看官方文档 - https://ipynb.readthedocs.io/en/stable/
另外,如果你想从一个笔记本仅导入类和函数定义(而不是顶层语句),你可以使用ipynb.fs.defs的替代ipynb.fs.full。完整的大写变量赋值也将被评估。
axi*_*xil 19
如果A.ipynb要从B.ipynb写入导入
import import_ipynb
import A
Run Code Online (Sandbox Code Playgroud)
在B.ipynb.
import_ipynb我创建的模块是通过pip安装的:
pip install import_ipynb
Run Code Online (Sandbox Code Playgroud)
它只是一个文件,它严格遵守jupyter网站上的官方howto.
PS它还支持之类的东西from A import foo,from A import *等
out*_*rld 17
从命令提示符安装 ipynb
pip install import-ipynb
Run Code Online (Sandbox Code Playgroud)
导入您的笔记本文件
import import_ipynb
Run Code Online (Sandbox Code Playgroud)
现在使用常规导入命令导入您的文件
import MyOtherNotebook
Run Code Online (Sandbox Code Playgroud)
小智 7
%run YourNotebookfile.ipynb 工作正常;
如果您想导入特定模块,只需在 ipynb 之后添加导入命令即可,即 YourNotebookfile.ipynb 具有 def Add()
那么你就可以使用它
%run YourNotebookfile.ipynb import Add
Run Code Online (Sandbox Code Playgroud)
小智 6
上面提到的意见非常有用,但实施起来有点困难。您可以尝试以下步骤,我也尝试过并且有效:
| 归档时间: |
|
| 查看次数: |
66391 次 |
| 最近记录: |