可能重复:
Python package structure
您好, 我想在我的主文件根目录下的子目录中导入一个python文件。 e.g。
import ../library/utils.py
当我将它放入我的代码并运行它时,我得到一个编译错误。
有没有办法从主文件根目录下面包含文件,还是必须在根目录下的子目录中?
感谢您的帮助。
答案 0 :(得分:9)
您不导入文件,导入模块。相应地修改sys.path
,然后执行import utils
,例如
import sys
sys.path.append('../library')
import utils
答案 1 :(得分:3)
import sys, os
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'library')))
import utils
这将修改包含要搜索文件的目录的sys.path变量。它还将确保即使您以下列方式运行它也能正确找到它:
$ python the_file.py
$ python ../the_file.py
$ python /somewhere/over/the_file.py
这适用于正在开发,测试和培训的内容。安装的文件不需要这样的构造。