Python导入自己的模块(sys.path.append())

当我们导入一个模块时:import xxx,默认情况下python解析器会搜索当前目录、已安装的内置模块和第三方模块,搜索路径存放在sys模块的path中:

import sys  
sys.path 

返回的是一个路径列表,通常是各个包的存放路径。因此我们需要把自己的包所在目录给放进去。当然如果在当前目录就不用了。
通常使用os.path.abspath(__file__)得到当前文件路径再使用os.path.dirname()获得上一级目录。但是要注意的是os.path.abspath(__file__)一定要在文件中运行,不要直接在命令行里面跑。

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)

要注意的是,如果要使用import导入函数,请一定在要导入的文件所在目录下加上"__init__.py"文件,它可以是空的,作用是将该目录变为package。

posted @ 2020-05-28 16:52  大超Zeo  阅读(3781)  评论(0编辑  收藏  举报