如何获取正在使用的 ipython 笔记本的文件路径?(相当于 __file__)

Pab*_*cia 2 python jupyter

我想将 dir 更改为我的 jupyter 笔记本的父目录。

用我不能把笔记本路径os.path.basename(os.path.dirname(os.path.realpath(__file__)))__file__没有定义。

如何获取我正在使用的 ipynb 文件的目录以便 os.chdir() 到它?

Hug*_*ugo 5

你不能

https://github.com/ipython/ipython/issues/10123

原因是你总是在内核中运行,理论上多个笔记本可以连接到该内核。

但是 - 默认情况下,如果您正在启动笔记本,当前工作目录将设置为笔记本的路径。所以最接近的是打电话os.getcwd()

我刚刚创建了最无聊的已发布笔记本示例来演示这一点,你可以看到,这个笔记本反映了它的路径,而这个在子目录中的也反映了正确的路径

  • 如果您要包含自己编写的资源,则需要明确说明您是作者。请参阅[如何以社区友好的方式链接到外部资源?](https://meta.stackexchange.com/questions/94022/how-can-i-link-to-an-external-resource-in -a-community-friendly-way/94027#94027)。具体来说:*“您确定作者(您自己,...)”* (3认同)