Python - 实战 - 调用父目录的模块

当项目规模增大,模块需要跨目录调用时,如何导入父目录的模块成为一个常见问题。本文介绍了Python的import机制,包括搜索路径、PYTHONPATH环境变量以及Python安装路径。并详细讲解了四种方法,特别是run-time import的实践应用,提供了两种具体实现方式,以增加模块导入的灵活性。
摘要由CSDN通过智能技术生成

随着项目的扩大,模块的抽象和提取必不可少,模块所在的目录也不会一直扁平。这时候经常遇到的一个问题是如何访问其它目录的模块呢,比如说import一些公共目录的公共模块?

背景了解,import做了什么?

当我们import module的时候python会搜索以下地方作为search path:

  1. 当前执行这条import语句脚本所在的路径,或者是current working directory(在交互模式下,比如IPYTHON console中)

  2. PYTHONPATH的环境变量里的路径

  3. Python 安装时依赖的一些路径,在python安装已经配置好

以上所有路径都可以由 import sys然后打印sys.path看到。

所以如果我们有一个脚本test.py,想要成功import,有四种方法

  1. 放在current directory下

  2. 修改pythonPath环境变量,把test.py所在的路径放在环境变量的脚本中,这样python启动时加载环境变量就会读取到

  3. 把test.py放在安装时依赖的路径,不同操作系统不一样,同时需要写入权限

以上三种方法是一劳永逸的,但同时也丧失了灵活性,在import之前必须固定好module的位置。

第四种方法,run-time import

就是在脚本运行时,把file的路径放在sys.pa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值