0

私のプロジェクトのレイアウトは次のようになります。

run.py
jobs/
   job1.py
   job2.py

job1.pyかなり基本的です:

class job1():

    def __init__(self):
        print 'yo'

run.py には、次のものがあります。

name = 'job1'
classname = 'jobs.%s' % name
__import__(classname)

これは明らかに機能しません:

Traceback (most recent call last):
  File "run.py", line 5, in <module>
    __import__(classname)
ImportError: No module named jobs.job1

この方法でモジュールをインポートする最良の方法は何ですか?

4

2 に答える 2

2

まず、__init__.pyこのことを機能させるために、ジョブフォルダー内にファイルを作成しますjobs.jobs1

于 2012-06-20T17:39:49.027 に答える
1

__init__.pyこれをjobsディレクトリに追加します

import os
jobs = {}
for module in (name for name in os.listdir(".") if name.endswith(".py")):
    jobs[module] = __import__(module)

次に、このように使用します

from jobs import jobs
于 2012-06-20T17:40:22.333 に答える