python - 获取当前的 jupyter-lab 笔记本名称 [适用于 Jupyter-lab 版本 2.1 和 3.0.1 以及笔记本版本 >6.0.3)
问题描述
问题
大家好,
正如我的标题所暗示的那样,我想访问笔记本名称(在jupyter-lab中)作为变量。所以我可以在笔记本本身中重用它(例如命名笔记本中生成的一些图形文件)。
我看到几年前就有一个类似的问题[see here]。但是我没有找到满意的答案。
我喜欢@bill 建议的答案的简单性:
import ipyparams
currentNotebook = ipyparams.notebook_name
但是,它对我不起作用。我第一次执行第一个单元格时收到此警告:
import ipyparams
Javascript Error: Jupyter is not defined
currentNotebook = ipyparams.notebook_name
currentNotebook
''
然后,如果我再次重新运行单元格,我不再有警告消息,但变量currentNotebook
仍然为空。(我按顺序运行单元,我没有执行“运行所有单元”)。
配置详情
我的 Jupyter 版本是
jupyter notebook --version
6.0.3]
jupyter-lab --version
2.1.1
我的笔记本主要用于python代码。
编辑 27/01/2021
@juan 解决方案 [这里],使用ipynbname正在为
jupyter-notebook : 6.1.6
jupyter lab : 2.2.6
但这个解决方案仍然不起作用jupyter lab : 3.0.1
编辑 28/01/2021
ipynbname现在为 jupyter 3 工作
关于它的更多细节[这里]
解决方案
作为替代方案,您可以使用以下库:ipynbname
#! pip install ipynbname
import ipynbname
nb_fname = ipynbname.name()
nb_path = ipynbname.path()
这对我有用,解决方案非常简单。
推荐阅读
- python - IndexError:列表索引超出范围使用谷歌视觉
- scala - ScalaMock :期望在一定公差范围内的 Double
- python - 我需要将python文件放在哪里才能全局访问?(蟒蛇)
- xml - 有没有像golang这样的xml序列化器
- flutter - 我只是想创建一个带有圆形按钮的登录,但它一直要求输入密钥。请看附图
- notepad++ - 在每行的空格之间添加逗号
- python-3.x - 如何将熊猫数据帧的结果/子集发送到我的 csv 文件和 sql db
- oop - 如何从清洁代码书中理解“抽象级别错误的代码”?
- node.js - AWS S3-MissingRequiredParameter:参数中缺少必需的键“桶”
- r - 使用 nls 应用拟合数据