我在一个名为end.py的文件中。
在我的当前目录中,我有x个.py文件。
每个.py文件都返回一个名为total的变量。
在end.py中,是否可以循环遍历当前目录中的所有.py文件(除了自身- end.py),并导入每个文件的total变量&最终将每个total变量的值存储在一个列表中,以便稍后在end.py中使用
发布于 2022-04-29 20:09:14
您可以在当前目录中列出Python文件:
import pathlib
source_files = pathlib.Path('.').glob('*.py')使用import库,可以在循环中导入这些内容:
import importlib.util
import pathlib
for source_file in pathlib.Path('.').glob('*.py'):
name = source_file.stem
spec = importlib.util.spec_from_file_location(name, source_file)
mod = importlib.util.module_from_spec(spec)
spec.loader.exec_module(mod)在for循环中,您可以以mod.total的形式访问total。
要跳过单个文件(如end.py ),可以添加:
import importlib.util
import pathlib
for source_file in pathlib.Path('.').glob('*.py'):
name = source_file.stem
if name == 'end':
continue
spec = importlib.util.spec_from_file_location(name, source_file)
mod = importlib.util.module_from_spec(spec)
spec.loader.exec_module(mod)请注意,这将导入当前目录中的每个模块。这包括当前模块吗?你可能也想跳过那个。
文档
https://stackoverflow.com/questions/72063145
复制相似问题