2016-12-03 5 views
1

나는 파이썬에 대해 행동적인 질문을 가지고있다. C 배경에서 오는 모듈은 헤더 파일과 동일하지 않다는 것을 이해합니다. 내가 처음에 예상되는 행동이었다 URLLIB는 내부 모듈 1과 함께 가져올 수에 대한모듈 동작의 Python 가져 오기 패키지

#!/usr/bin/python3 
import urllib 

Driver.py

#!/usr/bin/python3 
import module1 

Module1.py :

여기에 두 스크립트입니다 운전사. 그러나 이것은 내가 겪고있는 행동이 아닙니다. 입력하는 것이 맞습니까

#!/usr/bin/python3 
import urllib 
import module1 

또는 urllib를 두 번 가져 오게 할 수 있습니까?

는 나는 내가

from module1 import urllib 

같은 것을 할 수있는 문서에서 읽을 수 있지만 urllib이 함께 가져올 수에 대한 것을 너무 많이 쓰는에게 내가 처음에 예상되는 행동이었다

답변

0

것 같다 드라이버 내에는 module1이 있습니다.

왜 그래야합니까? module1의 네임 스페이스 (모듈 사전) 안에 urllib을 가져 왔으며 Driver이 아닙니다.

urllibmodule1에 수입되지만, 시도 :

import Driver 
Driver.module1.urllib 

을 더 NameError의 제기되지 않도록 참조 urllib이있다.

이렇게하면 urllib을 두 번 가져올 수 있습니까?

아니, 파이썬은 볼 수 urllib 이미 그냥 네임 스페이스 또는 Driver에서 urllib에 대한 항목을 작성 (sys.modules 내부 엿으로) 가져 왔습니다.

+0

좋습니다. C에서 일부 라이브러리를 헤더 파일로 가져오고 헤더 파일을 드라이버로 가져온 경우 가져온 라이브러리를 포함하여 전체 헤더 파일을 가져옵니다. 차이점을 명확히 해 주셔서 감사합니다. – Shadowfax

+0

'C'와'Python' @Shadowfax 사이에 평행선을 그리지 마십시오. :-) Python의 가장 보편적 인 구현이'C'에서 구현 되더라도 다른 의미론과 완전히 다른 언어입니다! [참조 설명서] (https://docs.python.org/3/reference/index.html)에서 엿볼 수있는 대부분의 질문을 해결할 수 있습니다. –

+1

알았어, 고마워! @ 짐 – Shadowfax