Python 프로젝트 작업 시 프로젝트 내의 모듈 이름이 다음과 같은 문제가 발생할 수 있습니다. 표준 라이브러리 모듈. 이로 인해 가져오기 충돌 및 런타임 오류가 발생할 수 있습니다. 이 기사에서는 모듈 이름을 바꿀 필요 없이 Python의 가져오기 동작을 제어하는 방법을 설명하면서 이 문제에 대한 자세한 솔루션을 제공할 것입니다.
가져오기 메커니즘 이해
기본적으로, Python은 다음 순서로 모듈을 검색합니다.
모듈 충돌 해결
가져오기 충돌을 방지하려면 Python 2.5에 도입된 Absolute_import 기능을 사용할 수 있습니다. 이 기능은 Python이 현재 디렉터리에 동일한 이름을 가진 모듈이 있는지 여부에 관계없이 항상 표준 라이브러리에서 모듈을 먼저 찾도록 합니다.
absolute_import를 활성화하려면 다음 줄을 표준 라이브러리 모듈을 가져와야 하는 모듈:
from __future__ import absolute_import
absolute_import가 활성화되면 Python은 프로젝트 폴더에 같은 이름의 모듈이 있어도 표준 라이브러리 모듈을 가져옵니다.
예:
프로젝트 폴더에 Calendar라는 모듈이 있다고 가정합니다. 표준 라이브러리 Calendar 클래스를 가져오려면 로컬 캘린더 모듈을 사용하더라도 다음 코드를 사용하세요.
from __future__ import absolute_import import calendar
Python 3.x 동작
Python 3. x에서는absolute_import 동작이 기본값입니다. 이는 절대_import를 명시적으로 가져오지 않아도 Python이 로컬 모듈보다 표준 라이브러리에서 가져오기를 우선시한다는 것을 의미합니다.
위 내용은 Python에서 모듈 이름 충돌을 해결하는 방법: 종합 안내서의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!