1

可能重复:
Python 包结构

您好,我正在寻找一个 python 文件,该文件位于我的主文件根目录下的子目录中。例如

import ../library/utils.py

当我将它放入我的代码并运行它时,我得到一个编译错误。

有没有办法从主文件根目录下面包含文件,还是必须在根目录的子目录中?

谢谢你的帮助。

4

2 回答 2

9

您不导入文件,而是导入模块。相应地修改sys.path,并做import utils,例如

import sys
sys.path.append('../library')
import utils
于 2011-05-23T21:10:52.230 回答
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

这将适用于正在开发、测试和培训的东西。安装的文件不需要这样的结构。

于 2011-05-23T21:11:41.587 回答