【问题标题】:Importing a function (by name) from a filename从文件名导入函数(按名称)
【发布时间】:2013-01-27 20:06:10
【问题描述】:

我正在编写一个使用trace 模块的代码跟踪器。为了使用跟踪模块,我首先需要能够调用相关函数。

我已经成功导入包含函数定义的模块,使用imp如下:

mod = imp.load_source(os.path.basename(fpath).rpartition('.py')[0], fpath)

其中fpath 是需要导入的模块的路径。

我不提前知道,我需要从mod 导入什么函数/类。这在str 变量中标识(为了本示例,我们将其称为var)。

例如,fpath 可以是 '/Users/username/.../myPythonModule.py'var 可以是 'foo'

我将如何从mod 导入foo
我在 python2.7 上,如果重要的话

【问题讨论】:

  • 我喜欢你声明 var 然后给它的值 foo 没有任何代码。
  • @Keyser:很好!希望编辑澄清

标签: python import python-2.7 filenames


【解决方案1】:

如果你已经将模块作为对象mod导入,而var是一个包含你想要的函数名的字符串,你可以通过getattr(mod, var)来获取函数(或类、值等)来自模块的那个名字。

【讨论】:

  • 我没有意识到getattr 可以这样使用。我早该知道。精彩抓拍! 8 分钟内接受,7:59, 7:58...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-17
  • 2014-05-30
  • 1970-01-01
  • 2016-09-02
  • 2011-01-09
  • 1970-01-01
  • 2018-04-22
相关资源
最近更新 更多