代码之家  ›  专栏  ›  技术社区  ›  DrFalk3n

python递归类包含和实例化[duplicate]

  •  0
  • DrFalk3n  · 技术社区  · 15 年前

    这个问题已经有了答案:

    我想进口 类位于名为

    一些DIR/

    和命名类*.py

    最后实例化它们。

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

    1 回复  |  直到 15 年前
        1
  •  -1
  •   Jay Atkinson    15 年前

    尝试:

    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代码的形式执行字符串。

    希望这能帮你找到正确的方向。