12
eval()
함수를 사용하여 모듈을 가져올 수 없습니다.모듈을 가져 오기위한 eval
그럼, 내가 할 경우 import vfs_tests as v
기능이 있습니다. 그러나 eval('import vfs_tests as v')
과 같은 eval()
을 사용한 동일한 가져 오기에서는 구문 오류가 발생합니다.
왜 이렇게됩니까?
eval()
함수를 사용하여 모듈을 가져올 수 없습니다.모듈을 가져 오기위한 eval
그럼, 내가 할 경우 import vfs_tests as v
기능이 있습니다. 그러나 eval('import vfs_tests as v')
과 같은 eval()
을 사용한 동일한 가져 오기에서는 구문 오류가 발생합니다.
왜 이렇게됩니까?
사용 exec
는 :
exec 'import vfs_tests as v'
eval
작품만을 표현에, import
는 문입니다.
exec
파이썬 3에서 함수입니다 : exec('import vfs_tests as v')
는 importlib
모듈을 사용해야하는 문자열을 사용하여 모듈을 가져 오려면 : 파이썬 2.6에서
import importlib
mod = importlib.import_module('vfs_tests')
을 이전 __import__
를 사용합니다.
경고 단어 : exec는 매우 강력합니다. 실행중인 문자열의 일부가 신뢰할 수없는 출처에서 나온다면 exec도 매우 위험합니다. –
py <= 2.6 인 경우 __import__를 사용하면 일반 가져 오기처럼 정의 된 가져온 이름이 그대로 유지되지 않습니다. – TextGeek