사람이 파이썬 인터프리터에서이 동작에 도움이 되거 시겠어요 뉘앙스 :파이썬 가져 오기
from os import path # success
type(path) # <class 'module'>
from path import * # complains that no module called 'path' exists
type(os.path) # complains that the name 'os' is not defined, yet:
from os.path import * # works just fine
사이드 질문으로, 나는 같은 문을 수있는 메커니즘이 무엇인지 궁금해 'OS 수입 경로에서 '일하고, 아직 OS는 정의되지 않은 상태입니까? os는 from ... import의 시점에 실행되지 않으며 모듈과 같은 "알려진"것이어야합니까? 내가 알고있는 이름에서 os를 지키는 것이 단순히 ('import os'에서처럼) 직접 가져 오지 않은 기호로 네임 스페이스의 "분류"를 방지하기위한 단순한 규칙 일 뿐이라고 말하는 것이 맞습니까?
고맙습니다. 잘못된 가정, 특히 이미 가져온 이름이 실제로 파일 시스템과 파일 시스템만을 다루는 대신 단순히 후속 가져 오기에 의해 "인식"될 것이라는 가정을하고있는 것 같습니다. 필자가 익숙한 표준 파이썬 문서는이 "수입 체인화"를 해결해야했지만 어떤 이유로 내 마음이 그 연결을 고집하고있었습니다. –
철저히 말하자면, 'from import y'가 실행될 때, x _will_가 실행될 것입니다 (비록 import되지 않을지라도!). 참조 : http://stackoverflow.com/questions/10993156/python-importing-module. –