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

尝试了相对于顶级包的相对导入

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

尝试了相对于顶级包的相对导入

TLDR:做

import bash.bosh

要么

from bash import bosh

避免修改

sys.path
,因为这会重复模块。


当你做

import bosh

它将导入 模块

bosh
。这意味着python
Mopy/bash
在您的中
sys.path
找到该文件
bosh
,并将其导入。现在,该模块的名称已在全球范围内广为人知
bosh
。无论
bosh
是本身就是一个模块或包不要紧此,它只会改变是否
bosh.py
bosh/__init__.py
使用。

现在,当

bosh
尝试做

from .. import bass

不是
文件系统操作(“一个目录向上,文件低音”),而是模块名称操作。这意味着“一个包升级,模块低音”。

bosh
不是从其程序包中导入的,而是独立的。因此,上一个包是不可能的-
您最终遇到该包
''
,这是无效的。

让我们看看你做的时候会发生什么

import bash.bosh

代替。首先,

bash
被导入。然后,
bosh
被导入 为该软件包 的模块-
bash.bosh
即使您使用,它也被全局称为
frombash import bosh

什么

bosh
时候

from .. import bass

一个作品现在:去一个级别从

bash.bosh
得到你
bash
。从那里
bass
导入为
bash.bass



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

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

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