列出目录下所有有效/可导入的Python文件

问题描述 投票:0回答:1

我需要获取生活在当前模块下的每个有效/可导入的Python文件的列表,即递归地记录在当前目录下。

是否有库可以做到这一点?我找不到一个。

Airflow,mypy,black,pytest,unittest等都使用某种递归目录遍历来发现有效的Python文件,但是这样做没有标准,每个lib都自行实现此功能。

[如果没有一个好的库可以对此进行抽象,是否有任何已知的考虑因素考虑投资于一种幼稚/简单的方法,即在包含.py文件的目录下列出所有__init__.py文件并排除某些目录(例如[ C0],.*等)基于排除列表?

我仅对Python 3.5+感兴趣。

python-3.x recursion traversal os.walk scandir
1个回答
0
投票

不是将实现硬编码到我自己的项目中,我为此发布了一个小的开源库。

__pycache__在MIT下发布,其作用是收集给定根目录的所有有效Python文件。它包括对行为的一些基本调整,并支持排除模式。尽管它仅用于收集Python文件,但它可以很容易地分支成为更通用的文件/目录收集器。

截至撰写本文时,我是官方维护者。

© www.soinside.com 2019 - 2024. All rights reserved.