Jupyter Lab/Notebook magic command%加载,路径与平台无关

2024-04-26 13:48:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试开发一个Jupyter笔记本,其中包含有%load magic命令的单元格,可以从其他地方加载代码。此代码与笔记本所在的目录不同。我想让它在Windows、Linux和Mac上运行,所以路径分隔符有时应该是'\',有时是'/'。在

通常我会用os.path.join操作系统. 然而,当我在一行中使用load命令执行此操作时,笔记本只计算路径,而不实际加载代码。除了先更改工作目录并在执行加载的代码后再将其更改回来,有没有其他方法可以做到这一点?在

简单示例:

import os
%load os.path.join('example', 'file.py')

这将给出一个错误,因为它将实际搜索具有该名称的文件os.path.join操作系统(“示例”文件.py'). 如果我首先对其进行评估并将结果放入load中,我得到:

^{pr2}$

结果是

# %load to_include
example/file.py

但很明显,我希望加载该文件的内容,而不是路径+文件名。我做错什么了?在


Tags: 文件path代码py命令路径目录示例
1条回答
网友
1楼 · 发布于 2024-04-26 13:48:43

在Jupyter中,必须用类似bash的语法来扩展变量,以便它们在魔术函数中工作。在

这就是为什么你必须使用$符号。 在您的情况下:

import os
to_include = os.path.join('example', 'file.py')
%load $to_include

相关问题 更多 >