gpt4 book ai didi

python - 将符号从 python 包导入调用者的命名空间

转载 作者:太空宇宙 更新时间:2023-11-03 15:28:36 24 4
gpt4 key购买 nike

我有一个用单个 Python 文件编写的小内部 DSL,它已经发展到我想将内容拆分到多个不同目录 + 文件的程度。

新的目录结构目前是这样的:

dsl/
__init__.py
types/
__init__.py
type1.py
type2.py

并且每个类型文件都包含一个类(例如 Type1)。

我的问题是我希望尽可能简单地实现使用此 DSL 的代码,例如:

import dsl
x = Type1()
...

这意味着所有重要的符号都应该直接在用户的命名空间中可用。我已尝试更新顶级 __init__.py 文件以导入相关符号:

from types.type1 import Type1
from types.type2 import Type2
...
print globals()

输出显示符号已正确导入,但它们仍未出现在调用者的代码中(执行 import dsl 的代码)。我认为问题在于符号实际上被导入到“dsl”命名空间。我该如何更改它,以便这些类也可以直接在调用者的命名空间中使用?

最佳答案

你不得不说

from dsl import *

关于python - 将符号从 python 包导入调用者的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2959109/

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