关于from __future__ import absolute_import

博客介绍了Python模块导入时可能出现的冲突问题。当自己编写的模块名与Python标准库中的模块名相同时,单纯使用import导入会产生混淆。通过使用from __future__ import absolute_import,可明确绝对导入和相对导入,避免此类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

和代码本身的含义一致

绝对导入……

举个例子,如果我想导入string.py这个模块(注意这个模块是我自己写的),那么问题来了,python标准库里

也有一个sring模块,这个时候,单纯的使用import string就会出现问题。它可能会自己导入你的string模块,然而如果你的

本意是想使用python标准库中的string模块的话4,这就很让人头疼!

这时,我们可以使用from __future__ import absolute_import,这样以后,绝对导入和相对导入就意义明确了:

from mypackge import string会导入自己写的string模块

import string会导入python标准库的string模块

引用\[1\]: 如果你想使用import string来引入系统自带的string.py,而不是当前目录下的string.py,你可以使用from __future__ import absolute_import这句话。这样,你就可以使用import string来引入系统自带的string.py,同时使用from pkg import string来引入当前目录下的string.py。\[1\] 引用\[2\]: 这句from __future__ import absolute_import的作用是引入"绝对引入"。在python2.4或之前的版本中,如果你在代码中写入import string,python会先查找当前目录下是否有string.py,如果有,则引入该模块。但如果你想使用系统自带的标准string.py,而不是当前目录下的string.py,就需要使用from __future__ import absolute_import这句话。这样,你就可以使用import string来引入系统自带的标准string.py,同时使用from pkg import string来引入当前目录下的string.py。\[2\] 所以,当你在python2.4之后的环境下运行代码时,不需要加上from __future__ import absolute_import这句话。但如果你在python2.4或之前的环境下运行代码,并且想要引入系统自带的标准string.py,就需要加上这句话。\[1\]\[2\] #### 引用[.reference_title] - *1* *2* [【Python】from __future__ import absolute_import的作用](https://blog.youkuaiyun.com/qq_15971883/article/details/121527294)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [from __future__ import absolute_import的作用](https://blog.youkuaiyun.com/u012206617/article/details/106493749)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值