복붙노트

[PYTHON] 동일한 이름을 가진 로컬 모듈이있을 때 Python에서 표준 라이브러리 모듈에 액세스하는 방법?

PYTHON

동일한 이름을 가진 로컬 모듈이있을 때 Python에서 표준 라이브러리 모듈에 액세스하는 방법?

prog.py 파일이 같은 이름을 가진 로컬 모듈과 같은 디렉토리에있을 때 (math.py) 표준 라이브러리 모듈 (math)에 어떻게 접근 할 수 있습니까?

나는이 질문을하고 싶다. 왜냐하면 나는 패키지 불확실성을 만들어 내고 싶다.

import uncertainties
from uncertainties.math import *

따라서 불확실성 디렉토리 안에는 로컬 수학 모듈이 있습니다. 문제는 불확실성 / __ init__.py에서 표준 라이브러리 수학 모듈에 액세스하려고한다는 것입니다.

이 모듈은 수치 적 불확실성을 처리하는 등가물을 가진 수학 모듈의 함수를 정확하게 대체하기위한 것이기 때문에 불확실성을 이름 바꾸지 않는 것이 좋습니다.

추신 :이 질문은 변수 사이의 상관 관계를 고려하면서 불확실성이있는 계산을 수행하기 위해 작성한 모듈과 관련이 있습니다.

해결법

  1. ==============================

    1.PEP 328의 절대 / 상대 수입을 찾고 있으며, 2.5 이상이 가능합니다.

    PEP 328의 절대 / 상대 수입을 찾고 있으며, 2.5 이상이 가능합니다.

    from ... import 형식을 사용할 때 모듈 이름에 선행 마침표를 추가하여 상대적인 가져 오기를 계속 수행 할 수 있습니다.

    from __future__ import absolute_import
    # Import uncertainties.math
    from . import math as local_math
    import math as sys_math
    
  2. ==============================

    2.왜 다시 로컬 모듈의 이름을 바꿀 수 없습니까?

    왜 다시 로컬 모듈의 이름을 바꿀 수 없습니까?

    분명히 설치된 불확실성으로부터 여전히 필요한 것이 있다면 그것은 "전체"대체물이 아닙니다.

    부분 대체품이므로 동일한 이름을 지정하지 않아야합니다.

    뭐가 달라? 무슨 상관이야? 그걸 바탕으로 더 나은 이름을 고르십시오.

  3. from https://stackoverflow.com/questions/1900189/how-to-access-a-standard-library-module-in-python-when-there-is-a-local-module-w by cc-by-sa and MIT license