2014-09-23 2 views
0

동적 파일에있는 파이썬 파일에서 명령을 실행하려고합니다. 난 import 성명을 사용하려고하는데, 나는이 경우 더 나은 해결책이라고 생각한다. 여기 동적 경로가있는 다른 파일에서 파이썬 파일을 실행하십시오.

코드입니다 :

from subprocess import call 
import tarfile 
from contextlib import closing 

def tarfile1(path): 
    with closing(tarfile.open(path)) as tar: 
     tar.extractall(path) 
    import path as runcommand 
    runcommand.main() 

이 문제는 해당 경로는 문자열이며, 그것은 나에게 다음과 같은 오류 제공 : 내가 파일을 가져올 수있는 방법

import path as runcommand 
ImportError: No module named path 

을하는 I 돈 그 이름을 알지 못하고 그것으로부터 주 명령을 실행합니까?

답변

0

importlib.import_module을 사용해야합니다.

import importlib 
importlib.import_module(<<mymodule>>) 

: 모듈의 상위 디렉토리가 PYTHONPATH에 있는지 또는 sys.path 추가 확인하시기 바랍니다. 대신 사용

runcommand = __import__(path) 

0

관련 문제