누락 된 전부는 시스템 경로에 모듈이있는 것입니다. 당신의 path = ...
줄 끝에서
import sys
sys.path.append(path)
을 추가하면 설정해야합니다. 여기 내 테스트 스크립트입니다 :
import os, os.path, sys
print '\n'.join(sys.path) + '\n' * 3
commands = []
hooks = []
def load_modules():
""" dynamically loads commands from the /modules subdirectory """
path = os.path.dirname(os.path.abspath(__file__))
print "In path:", path in sys.path
sys.path.append(path)
modules = [f for f in os.listdir(path) if f.endswith(".py") and f != "__init__.py"]
print modules
for file in modules:
try:
modname = file.split(".")[0]
module = __import__(modname)
for obj_name in dir(module):
print '%s.%s' % (modname, obj_name)
except ImportError as e:
print "!! Could not load %s: %s" % (file, e)
print commands
load_modules()
'__import__' 당신이 특히 fromlist' '과 관련, 알 필요가 꽤 서투른 비트를 가지고있다. 그걸 검색해보고 알아낼 수 있는지 알아보십시오. –
'path = os.path.dirname (os.path.abspath (__ file __))'(보다 정확하고 부수적으로 크로스 플랫폼) –
'load_modules()'가 어디에서 어떻게 호출 되었습니까? – martineau