HOWTO · Python

Python의 전체 파일 경로에서 모듈 가져 오기

이 문서에서는 경로에서 Python 파일을 가져 오는 방법을 보여줍니다.

이 페이지의 내용

지정된 경로에서 Python 파일을 가져 오려면 Python 버전을 기반으로하는 Python 라이브러리를 사용합니다. 이 기사에서는 Python에서 모듈에 대한 전체 경로가 지정된 모듈을 가져 오는 방법을 설명합니다.

Python 버전을 기반으로 다음 라이브러리의 함수를 사용하여 모듈을 가져옵니다.

  1. Python 3.5 이상인 경우importlib.util을 가져옵니다.
  2. Python 3.3 및 3.4의 경우importlib.machinery,SourceFileLoader를 가져옵니다.
  3. Python 2의 경우imp를 가져옵니다.

시작하기 전에 예제를 시연 할 수 있도록 파일 설정을 준비하십시오.

  • addmodule.py파일에서 다음 코드를 언급합니다.
def printingstatement():
    print("From addmodule.py")
  • 폴더 안에addmodule.py를 넣습니다. 아래 예에서는c:\\Users\\Rexjohn\\Folder-1\\안에 있습니다.

Python 3.5 이상에서 전체 파일 경로가있는 모듈 가져 오기

Python 3.5 이상에서는importlib.util라이브러리의 함수를 사용하여 모듈을 가져옵니다.

import importlib.util

MODULE_PATH = "c:\\Users\\Rexjohn\\Folder-1\\addmodule.py"
MODULE_NAME = "addmodule"

spec = importlib.util.spec_from_file_location(MODULE_NAME, MODULE_PATH)
modulevar = importlib.util.module_from_spec(spec)
spec.loader.exec_module(modulevar)

modulevar.printingstatement()

여기에서importlib.util라이브러리의 다음 함수를 사용합니다.

  • spec_from_file_location(MODULE_NAME, MODULE_PATH). MODULE_PATH에서 모듈 이름MODULE_NAME의 전체 파일 경로를 언급하십시오.
  • module_from_spec(spec)
  • exec_module(modulevar)

출력:

From addmodule.py

Python 3.3 및 3.4에서 전체 파일 경로가있는 모듈 가져 오기

Python 3.3 및 3.4로 작업하는 경우importlib.machinery,SourceFileLoader라이브러리의 함수를 사용하여 모듈을 가져올 수 있습니다.

from importlib.machinery import SourceFileLoader

MODULE_PATH = "c:\\Users\\Rexjohn\\Folder-1\\addmodule.py"
MODULE_NAME = "addmodule"

modulevar = SourceFileLoader(MODULE_NAME, MODULE_PATH).load_module()

modulevar.printingstatement()

여기에서 언급하여importlib.machinery,SourceFileLoader라이브러리의 다음 함수를 사용합니다.

SourceFileLoader(MODULE_NAME, MODULE_PATH).load_module()

출력:

From addmodule.py

Python 2에서 전체 파일 경로가있는 모듈 가져 오기

Python 2의 경우imp라이브러리의 함수를 사용하여 모듈을 가져옵니다.

import imp

MODULE_PATH = "c:\\Users\\Rexjohn\\Folder-1\\addmodule.py"
MODULE_NAME = "addmodule"

modulevar = imp.load_source(MODULE_NAME, MODULE_PATH)

modulevar.printingstatement()

여기에서imp라이브러리의 다음 함수를 사용합니다.

load_source(MODULE_NAME, MODULE_PATH)

출력:

From addmodule.py