从包含函数的文件集合调用Python函数

2024-04-20 10:12:32 发布

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

我正在做一个项目,在这个项目中,用户可以在一个文件中定义函数(对redisdb执行操作,尽管这可能无关紧要)。这些文件将与许多其他类似文件放在一个文件夹中。考虑构建一个作用于Redis db的函数库,就像定制Redis命令一样。就添加新函数的能力而言,它可能类似于homebrew。你知道吗

正如当前编写的那样,使用脚本的人将提供他们想要运行的函数的字符串表示,脚本将找到它并运行它。我希望主脚本能够遍历这个库目录中的文件,并使主脚本可以使用每个文件中的所有函数。你知道吗

我知道如何从函数名的字符串中调用函数。我不知道的是如何遍历这个目录中的文件和import函数或使函数可供调用。你知道吗

现在,我只让它使用这样的代码来处理主脚本中定义的函数,其中command是从命令行传递的函数名字符串:

possibles = globals().copy()
possibles.update(locals())
custom_method = possibles.get(command)
if custom_method:
    print custom_method(r)

我脑子里还有一些问题,比如我是否应该强制所有库方法都存在于一个文件名相同的类中?那会不会让我想做的事情变得更简单?也许imp模块和find_module能帮上忙?你知道吗

Twitter上的一个追随者提出了这个解决方案:https://gist.github.com/1853553


Tags: 文件项目函数字符串用户目录脚本文件夹