gpt4 book ai didi

python:相对导入的别名

转载 作者:太空狗 更新时间:2023-10-30 02:19:13 25 4
gpt4 key购买 nike

是否可以使用相对导入使用别名导入同一包的模块?

假设我有以下包结构:

lib/
foobar/
__init__.py
foo.py
bar.py

在 foo.py 中,我想使用 bar.py 中的一些东西,但我想将它用作“bar.my_function”,所以不是 from .bar import my_function,我试过 import .bar as barimport .bar,两者都不起作用(无效语法异常)。我已经尝试过 python2.7 和 python3.4(后者是我的目标版本)。

但是,我现在正在使用的是 import foobar.bar as bar,即绝对导入而不是相对导入。这是一个不错的解决方案,因为我不希望包名称发生变化(即使发生变化,代码也没有太多变化),但如果我可以使用相对导入来完成此操作,那就太好了!

总结:

#import .bar as bar # why not?!?
#import .bar # shot in the dark
import foobar.bar as bar # current solution

最佳答案

你需要使用

from . import bar

documentation国家对此

[...] you can write explicit relative imports with the from module import name form of import statement. These explicit relative imports use leading dots to indicate the current and parent packages involved in the relative import. [...]

关于python:相对导入的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31404616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com