1
는이 같은 폴더 구조가 있습니다명령 줄에서 가져온 다음 가져온 모듈을 반복하는 방법은 무엇입니까?
package_name/
|-- module1
|-- module2
|-- module3
내가해야 할 것은 import package_name
입니다, 그리고 그들에게 잇달아 코드를 실행, 각 모듈을 반복. 가져 오기는 명령 줄에서 제공되므로 미리 제어 할 수는 없습니다. 따라서 사용자가 run_script.py --modules='package_name.module1'
이라고 말하거나 사용자가 간단히 말하면 run_script.py --modules='package_name
일 수 있습니다.
내가 할 수있는 from package_name import *
, 그리고 내 __all__
변수에 정의 된 모든 것을 가져올 것입니다 __init__.py
,하지만 거기에서 나는 좀 이상합니다.
def import_by_path(path):
if '.' not in path:
return __import__(path, globals(), locals())
path, module = path.rsplit('.', 1)
mod = __import__(path, globals(), locals(), [module])
try:
return getattr(mod, module)
except AttributeError:
raise ImportError, "Could not import %s" % path
사용과 같은 : 경로 모듈을 가져올 나는 보통이 같은 기능을 사용
for module in imported:
module.run()
나는 이것을 그대로 사용하지는 않았지만 내 자신의 기술을 분류하는 데 필요한 모든 방향을 제시했다. 고맙습니다! – mlissner