【问题标题】:python recursive class inclusion & instantiation [duplicate]python递归类包含和实例化[重复]
【发布时间】:2009-06-11 16:08:03
【问题描述】:

我想导入 类位于名为

的文件夹中

一些目录/

并命名为 class*.py

最后实例化它们。

Wich 是查看文件夹内部、导入类的最佳方式 并实例化它们?

【问题讨论】:

  • 你试过什么?你读过import语句吗?由于这是 import 的作用,我无法理解您的问题。
  • 您可以在this类似问题查看答案
  • 乔治的回答很有用

标签: python


【解决方案1】:

试试:

import os
#get files
files = os.listdir("some-dir/")
classes = []
for f in files:
   #find python modules in file listing
   if(f.find(".py") != -1):
      #remove file extenstion
      f = f.rstrip(".py")
      #create string to add module to global namespace, import it and instantiate
      #class
      importStr = "global " + f +";import " + f + "; classes.append(" + f +"())"
      #execute the code
      exec(importStr) 

这是第一次尝试。这假设您没有任何参数要传递给类实例化。

不知道它是否有效,但它是一个开始的地方。 “exec”语句让你可以将字符串作为 python 代码执行。

希望这可以帮助您朝着正确的方向前进。

【讨论】:

  • 不喜欢使用 exec(),对不起
猜你喜欢
  • 2013-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-03
  • 2011-08-24
  • 1970-01-01
  • 2017-02-21
相关资源
最近更新 更多