사용자가 작업 할 데이터 본문을 동적으로 선택하게하고 싶습니다. 이를 위해, 사용자가 자신의 "코퍼스"를 선택하고 나면 해당 코퍼스를 가져와야합니다.모듈 이름을 변수에 할당하는 방법은 무엇입니까?
corpora_ls = ["gutenberg","inaugural","movie_reviews","state_union"]
import_validation = False
while not import_validation:
print "Corpora Options: \"gutenberg\", \"inaugural\", \"movie_reviews\", \"state_union\"."
import_option = str(raw_input("What corpus would you like to import? "))
if import_option in corpora_ls:
import_validation = True
if import_option == "gutenberg":
fname = "gutenberg"
from nltk.corpus import gutenberg as DATA
elif import_option == "inaugural":
fname = "inaugural"
from nltk.corpus import inaugural as DATA
elif import_option == "movie_reviews":
fname = "movie_reviews"
from nltk.corpus import movie_reviews as DATA
elif import_option == "state_union":
fname = "state_union"
from nltk.corpus import state_union as DATA
else:
print "Please enter one of the available corpora as listed.\n"
는 솔직히,이 코드는 나에게 성가신 보인다 (파이썬 2.7.3에서 실행하고 있습니다). 단순히의 효과에 뭔가 말할 수 있도록하고 싶습니다이 가능한 같은 것을 오히려 모든 if/elif
에 대해 별도의 from nltk.corpus...etc.
을하는 것보다
if import_option == "gutenberg":
fname = "gutenberg"
elif import_option == "inaugural":
fname = "inaugural"
etc....
from nltk.corpus import import_option as DATA
있습니까?
도움 주셔서 감사합니다.
가에서보세요 ['importlib.import_module'] (http://docs.python.org/2/library/importlib.html#importlib.import_module) 및/또는 [ '__import__' 함수] (http://docs.python.org/2/library/functions.html#__import__)를 참조하십시오. – BrenBarn