Python之import导入机制

1. 模块导入时的搜索路径:

当你导入一个模块,Python 解析器对模块位置的搜索顺序是:

1.当前目录;
2.如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录;
3.如果都找不到,Python会察看默认路径。Linux下,默认路径一般为/usr/local/lib/python/。

模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。

2.动态增加import路径:

在实际开发中,默认包含了当前目录为搜索路径,所以,当前目录下的模块和子模块均可以正常访问。但是若一个模块需要import平级的不同目录的模块,或者上级目录里面的模块,就可以通过修改path来实现。修改path的方式一般可采用如下两种方式:

(1)通过对sys.path进行动态路径的添加:

sys.path里面包含了import导入时进行搜索的路径:

一般可以对当前项目如下操作:

获取当前文件路径:

Path(__file__).resolve(strict=True)

获取当前文件的父目录:

Path(__file__).resolve(strict=True).parent

获取当前文件的父目录的父目录:

Path(__file__).resolve(strict=True).parent.parent

sys.path添加路径:

sys.path.append('DIR的字符串')

(2)添加系统环境变量PYTHONPATH,在这个环境变量中输入相关的路径,不同的路径之间用逗号分开,路径将会自动加入到sys.path中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值