gpt4 book ai didi

python - 自定义 Python 模块结构

转载 作者:太空宇宙 更新时间:2023-11-04 02:58:27 24 4
gpt4 key购买 nike

我目前正在做一个个人编码项目,我正在尝试构建一个模块,但我不知道为什么我的结构没有按预期方式工作:

\mainModule
__init__.py
main.py
\subModule_1
__init__.py
someCode_1.py
someCode_2.py
\subModule_2
__init__.py
otherCode.py

我希望能够从 main.py 运行以下代码:

>>> from subModule_1 import someCode_1
>>> someCode_1.function()
"Hey, this works!"
>>> var = someCode_2.someClass("blahblahblah")
>>> var.classMethod1()
>>> "blah blah blah"
>>> from subModule2 import otherCode
>>> otherCode("runCode","#ff281ba0")

但是,例如,当我尝试导入 someCode_1 时,它会返回一个 AttributeError,我不太确定为什么。与__init__.py文件有关吗?

修订

  • 最小的、完整的和可验证的(我希望...)

    \mainDir
    __init__.py # blank file
    main.py
    \subDir
    __init__.py # blank file
    codeFile.py

    使用这个...

    #main.py file
    import subDir
    subDir.codeFile.function()

    还有这个……

    #codeFile.py file
    def function():
    return "something"

    ...它返回与上述相同的问题**。

** 准确的错误是:

Traceback (most recent call last):
File "C:\...\mainDir\main.py", line 2, in <module>
subDir.codeFile.function()
AttributeError: module 'subDir' has no attribute 'codeFile'

感谢@jonrsharpe:感谢您向我展示如何正确使用 Stack Overflow。

最佳答案

您有两种选择来完成这项工作。

要么这样:

from subdir import codeFile
codeFile.function()

或者:

import subdir.codeFile
subdir.codeFile.function()

关于python - 自定义 Python 模块结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41666188/

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