可能重复:
Python 包结构
您好,我正在寻找一个 python 文件,该文件位于我的主文件根目录下的子目录中。例如
import ../library/utils.py
当我将它放入我的代码并运行它时,我得到一个编译错误。
有没有办法从主文件根目录下面包含文件,还是必须在根目录的子目录中?
谢谢你的帮助。
可能重复:
Python 包结构
您好,我正在寻找一个 python 文件,该文件位于我的主文件根目录下的子目录中。例如
import ../library/utils.py
当我将它放入我的代码并运行它时,我得到一个编译错误。
有没有办法从主文件根目录下面包含文件,还是必须在根目录的子目录中?
谢谢你的帮助。
您不导入文件,而是导入模块。相应地修改sys.path
,并做import utils
,例如
import sys
sys.path.append('../library')
import utils
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
这将适用于正在开发、测试和培训的东西。安装的文件不需要这样的结构。