如何创建包并导入它?

2024-09-29 17:23:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有:

├── main.py
├── /subFolder
│   └── __init__.py
│   └── one.py
│   └── two.py

我的main.py如下所示:

from subFolder import *
print(oneString())
print(twoString())

我的__init__.py看起来像这样:

__all__ = ["one", "two"]

我的one.py看起来像这样:

from two import *
def oneString():
   return "one"

我的two.py看起来像这样:

def twoString():
   return "two"

当我运行时,它会给我ModuleNotFoundError。而且,当我右键点击__all__ = ["one", "two"]时,它会说:找不到定义。似乎我的__all__不起作用。我想创建一个子文件夹包,这样我就可以写:import subFolder而不是from subFolder import *


Tags: frompyimportreturninitmaindefall
1条回答
网友
1楼 · 发布于 2024-09-29 17:23:53

这个

from subFolder import *
print(oneString())
print(twoString())

应该是

from subFolder import *
print(one.oneString())
print(two.twoString())

您已经使用fromsubFolder import *导入了文件one.pytwo.py。要使用文件中定义的函数,需要使用one.oneString(),即文件名后跟函数名

相关问题 更多 >

    热门问题