> 백엔드 개발 > 파이썬 튜토리얼 > 디렉터리에서 모든 Python 모듈을 효율적으로 가져오려면 어떻게 해야 합니까?

디렉터리에서 모든 Python 모듈을 효율적으로 가져오려면 어떻게 해야 합니까?

DDD
풀어 주다: 2024-11-28 05:54:14
원래의
352명이 탐색했습니다.

How Can I Efficiently Import All Python Modules from a Directory?

디렉터리에서 모듈 로드

여러 Python 모듈 파일이 포함된 디렉터리 구조를 처리할 때 모든 파일을 가져와야 할 수 있습니다. 하나의 스크립트로. 각 모듈을 개별적으로 가져오는 것은 지루할 수 있으며, 특히 디렉터리에 수많은 모듈이 있는 경우 더욱 그렇습니다.

이 문제를 해결하는 한 가지 방법은 디렉터리를 Python 패키지로 변환하는 것입니다. 그러나 단순히 __init__.py 파일을 추가하고 from Foo import *를 사용하면 원하는 결과를 얻지 못할 수도 있습니다. 이 장애물을 극복하기 위한 대체 접근 방식은 현재 디렉터리의 모든 Python 모듈 파일을 나열하고 해당 이름을 __init__.py 파일 내의 __all__ 변수에 저장하는 것입니다.

이 접근 방식을 구현하는 코드는 다음과 같습니다.

from os.path import dirname, basename, isfile, join
import glob

# List all Python module files in the current directory
modules = glob.glob(join(dirname(__file__), "*.py"))

# Create a list of module names without the ".py" extension
__all__ = [basename(f)[:-3] for f in modules if isfile(f) and not f.endswith('__init__.py')]
로그인 후 복사

이 코드 조각은 먼저 glob.glob(join(dirname(__file__), "*.py")). 그런 다음 모듈이 아닌 파일이나 __init__.py 파일을 필터링합니다. 마지막으로 각 파일 이름에서 ".py" 확장자를 제거하여 모듈 이름을 추출합니다. 이러한 모듈 이름은 __init__.py 파일 내의 __all__ 변수에 저장됩니다.

이 접근 방식을 구현하면 폴더의 모든 모듈을 단일 스크립트로 효과적으로 로드할 수 있습니다. 여러 모듈을 관리하는 편리한 방법을 제공하고 from Foo import * 구문을 사용하여 쉽게 가져올 수 있습니다.

위 내용은 디렉터리에서 모든 Python 모듈을 효율적으로 가져오려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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