> 백엔드 개발 > 파이썬 튜토리얼 > `__import__`가 Matplotlib 하위 모듈을 완전히 가져오지 못하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

`__import__`가 Matplotlib 하위 모듈을 완전히 가져오지 못하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Susan Sarandon
풀어 주다: 2024-12-08 06:58:11
원래의
852명이 탐색했습니다.

Why Does `__import__` Fail to Fully Import Matplotlib Submodules, and How Can I Fix It?

"__import__"를 사용하여 문자열 변수에서 모듈 가져오기

matplotlib(MPL) 라이브러리 내의 특정 하위 모듈을 문서화하려고 하면 다음과 같은 문제가 발생할 수 있습니다. 문자열에서 이러한 하위 모듈을 가져오는 데 필요합니다. 그러나 "__import__" 함수를 사용하면 표준 가져오기 문에 비해 예상치 못한 결과가 발생할 수 있습니다.

문제:

"__import__"를 사용하여 하위 모듈 가져오기(예: __import__( 'matplotlib.text'))가 예상대로 하위 모듈의 내용을 완전히 로드하지 않습니다. "__import__"와 일반 가져오기에서 얻은 속성 목록을 비교해 보면 "__import__"에는 외부 요소와 함께 matplotlib의 기본 정의가 포함되어 있지만 대상 하위 모듈의 중요한 클래스가 부족하다는 것이 분명합니다.

해결책:

"__import__"를 사용하여 문자열에서 하위 모듈을 로드하려면 빈 값을 지정하세요. list를 두 번째 인수로 사용(fromlist):

import matplotlib.text as text
x = dir(text)

i = __import__('matplotlib.text', fromlist='')
y = dir(i)
로그인 후 복사

이 수정된 코드는 원하는 하위 모듈을 효과적으로 로드하여 예상되는 속성 목록을 생성합니다.

또는 Python 버전 3.1 이상에서 하나 importlib를 활용할 수 있습니다 모듈:

import importlib

i = importlib.import_module("matplotlib.text")
y = dir(i)
로그인 후 복사

참고:

  • 하위 폴더(예: ./feature/email.py)와 관련된 가져오기의 경우 importlib.import_module을 사용하세요. ("feature.email").
  • 이전 Python 버전에서는 3.3에서는 가져온 파일의 폴더 내에 __init__.py 파일이 필요했습니다. 하지만 3.3 이후에는 이 요구 사항이 제거되었습니다.

위 내용은 `__import__`가 Matplotlib 하위 모듈을 완전히 가져오지 못하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿