如何在Python3中导入目录中的所有文件?

2024-09-27 09:37:20 发布

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

我正在编写一个小程序包,其中包含几个.py文件,将来可能会向这个程序包中添加更多的文件。每个文件都包含一个与该文件同名的类。下面是一个例子:

pkg/
pkg/__init__.py
pkg/A.py # in which a class "A" exists
pkg/B.py # in which a class "B" exists
    ...

我在_uinit__uuy.py中导入了所有文件,如下所示:

from .A import A
from .B import B
...

但正如我所提到的,文件的数量正在增长,我不想每次在包中添加新文件时都编辑_init__;.py。有没有办法将所有文件导入到uuu init_uuuu.py中

注意:pkg中不会有任何子目录

更新:如果用户可以使用

import pkg.A
import pkg.B
...

导入我的类


Tags: 文件infrompyimport程序包whichinit
1条回答
网友
1楼 · 发布于 2024-09-27 09:37:20

首先在pkg文件夹中创建一个__init__.py 和类型

import os, pkgutil
__all__ = list(module for _, module, _ in pkgutil.iter_modules([os.path.dirname(__file__)])

简单类型

import A
import B

__init__.py文件中

然后 使用

from pkg import *

import pkg

pkg.Aetc届时将起作用

相关问题 更多 >

    热门问题