【问题标题】:Python--How to make method call specific .py scripts depending on method arguments?Python--如何根据方法参数制作方法调用特定的 .py 脚本?
【发布时间】:2014-08-14 23:05:08
【问题描述】:
假设我有一个带有两个参数的函数:arg1,arg2。我希望该函数随后调用 arg1_arg2.py。当然,实际文件不会被称为 arg1_arg2.py。因此,如果用户输入 hello, hi 作为参数,该函数将调用 hello_hi.py(更具体地说,它会实例化一个位于 hello_hi.py 中的类,但这并不重要)。我无法使用 %s 执行此操作,因为我处理的是文件,而不是字符串。
【问题讨论】:
标签:
python
parsing
methods
arguments
【解决方案1】:
你可以使用importlib:
import importlib
hello = importlib.import_module("hello_hi.py")
【解决方案2】:
听起来您想使用importlib shown here。类似的东西
import importlib
importlib.import_module("{}.py".format(your_str))
我认为几乎可以肯定有更好的方法来做到这一点——为什么不在你的目录中放置一个顶级__init__.py——假设目录是myclasses——然后实例化getattr(myclasses, your_str).ClassName()。 importlib 似乎走错路了。