将文件夹变成Python模块

1 投票
1 回答
2235 浏览
提问于 2025-04-17 13:09

我在Python里有一个模块,最近变得有点复杂。我想把它拆分成几个小文件,这样管理代码会更方便,但我希望使用起来感觉上没有任何变化。举个例子,假设我在一个叫c.py的文件里有两个类C1C2。我想创建一个文件夹结构,

c/
    __init__.py
    c1.py    <--- class C1 in here
    c2.py    <--- class C2 in here

这样我就可以用以下两种方式来使用这些代码

import c
c1 = c.C1()
c2 = c.C2()

还有

from c import *


c1 = C1()
c2 = C2()

我已经完成了大部分工作;如果我把__init__.py定义成这样,

from c1 import *
from c2 import *
__all__ == []

那么我就可以用第一种方式来使用c。我该如何以第二种方式使用c呢?(最好是不需要在__all__里列出所有的C1C2

1 个回答

0

如果你在 __init__.py 文件中跳过 __all__ 这个声明,你就可以同时使用这两种方法。

撰写回答