首页 > 解决方案 > Jupyter 导入 Python 函数

问题描述

我有以下文件夹结构

main/
     jupyter/
            nb.ipynb
     helper/
           text.txt
           foo/
              foo.py

文件 foo.py 包含

def foo():
    open("../text.txt", "r")

在我的jupyter笔记本中

import sys
sys.path.append("../helper/foo")
from foo import foo

foo()

这给出了一个找不到文件的错误。解决这个问题的最干净的方法是什么?(如果可能的话,我想保持foo.py不变。)

标签: pythonjupyter-notebook

解决方案


您收到此错误是因为路径是相对于您的工作目录的。您将需要使用os.chdir('../helper/foo').

foo.py更改并os.path.join(os.path.dirname(os.path.dirname(__file__)), 'text.txt')用作路径会更好一些。


推荐阅读