gpt4 book ai didi

python - 从python中的多个脚本调用一个函数

转载 作者:太空宇宙 更新时间:2023-11-04 03:14:55 24 4
gpt4 key购买 nike

我正在尝试从具有相同名称的单独文件中验证多个函数。

所以,假设我有一个目录目录:目录 1其中有s1,s2,s3,...,sn 都是目录,每个目录都包含一个名为 submission.py 的文件。在运行时之前我不知道 s1 到 sn 是什么。

在每个 submission.py 中,都有函数 f1 到 fm。

我想创建一个脚本,通过 fm 执行 f1 并通过 sn 的 submission.py 文件打印每个 s1 的输出。

我想我可以在每个目录中导入每个 submission.py 文件,但问题是每个文件都有相同的名称。此外,直到运行时才知道 s1 到 sn。显然,我可以使用 os.listdir 函数通过 sn 确定 s1。

关于通过 os.listdir 获取目录名称后如何从两个不同文件调用 f1 的任何想法?

最佳答案

这可以使用 imp .

>>> import os, imp
>>> dirs = os.listdir('.')
>>> dirs
['s1', 's2']
>>> modules = {d: imp.load_source(d, d + '/submission.py') for d in dirs}
>>> modules
{'s1': <module 's1' from 's1/submission.py'>,
's2': <module 's2' from 's2/submission.py'>}

然后,要调用子目录 s2 中包含的 submission.py 模块中的函数 f3,例如,它将是:

modules['s2'].f3()

关于python - 从python中的多个脚本调用一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36604641/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com