从所有文件夹递归导入所有 .py 文件

Recursively import all .py files from all folders

给定一个根目录,我需要从根目录下的所有文件夹(以及其他文件夹中的文件夹)导入所有文件。

我认为这可以在 os.walk() 的帮助下完成,但不知道如何在 "walking" 之后通过它们导入文件。

有没有简单的方法来做到这一点?

要按名称导入模块(在 3.4 中),请使用 importlib.load_module,即 "simplifying wrapper around importlib.__import__"。您会在其他答案中看到后者被提及(作为内置)。当然,要发挥作用,您必须将返回的每个模块分配给 something——除非您导入只是为了检查语法或生成 .pyc 文件,如 compile_all模块。