栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从__future__导入absolute_import实际起什么作用?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从__future__导入absolute_import实际起什么作用?

变更日志的字眼太脏了。

from __future__ import absolute_import
并不关心某些东西是否是标准库的一部分,
importstring
也不会总是为您提供启用绝对导入的标准库模块。

from __future__ import absolute_import
表示如果您愿意
importstring
,Python将始终寻找顶级
string
模块,而不是
current_package.string
。但是,它不会影响Python用于确定
string
模块文件的逻辑。当你做

python pkg/script.py

pkg/script.py
看起来不像是Python软件包的一部分。按照正常步骤,将
pkg
目录添加到路径,并且
.py
目录中的所有文件
pkg
看起来都像顶级模块。
importstring
发现
pkg/string.py
不是因为它正在执行相对导入,而是因为它
pkg/string.py
似乎是顶级模块
string
。这不是标准库
string
模块的事实并没有出现。

要将文件作为

pkg
软件包的一部分运行,您可以执行

python -m pkg.script

在这种情况下,该

pkg
目录将不会添加到路径中。但是,当前目录将添加到该路径。

您还可以添加一些样板文件,

pkg/script.py
以使Python
pkg
即使在作为文件运行时也将其视为包的一部分:

if __name__ == '__main__' and __package__ is None:    __package__ = 'pkg'

但是,这不会影响

sys.path
。您需要进行一些其他处理才能
pkg
从路径中删除目录,如果
pkg
的父目录不在路径中,则也需要将其粘贴在路径中。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/652216.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号