logo

Python – 다른 디렉터리에서 모듈 가져오기

대규모 프로젝트를 진행하는 동안 우리는 다음을 가져오고 싶은 상황에 직면할 수 있습니다. 기준 치수 다른 디렉토리에서. 그러나 어떤 이유로 모듈을 올바르게 가져오지 못할 수 있습니다. 이제 모듈을 올바르게 가져오지 않아도 걱정하지 마세요. 이 글에서는 다른 디렉터리에서 모듈을 가져오는 방법에 대해 설명합니다.

메모: 모듈은 다음으로 끝나는 Python 프로그램일 뿐입니다. .py 확장명과 모듈이 포함된 폴더가 패키지가 됩니다.

여우 또는 늑대

디렉토리 구조:



 - Folder_1 - main.py - Folder_2 - module1.py>

Python에서 파일을 가져오는 방법을 가져오기 위해 두 개의 서로 다른 폴더가 있다고 가정해 보겠습니다. 하나에는 Folder_2에서 module1을 가져오려는 기본 Python 파일인 main.py가 포함되어 있습니다.

모듈1: add 및odd_even이라는 두 가지 함수가 포함되어 있습니다. add 함수는 두 개의 인수를 취하고 그 합을 반환합니다. 홀수_짝수 함수는 하나만 취합니다. 논쟁 짝수이면 Even를 출력하고, 홀수이면 Odd를 출력합니다.

module1.py

파이썬3




# creating a simple add function> def> add(a, b):> >return> a>+>b> # creating a simple odd_even function> # to check if the number is odd or even> def> odd_even(n):> >if> n>%> 2> =>=> 0>:> >print>(>'Even'>)> >else>:> >print>(>'Odd'>)>

>

>

단순히 가져오려고 하면 모듈1 ~에서 폴더_2, 우리는 다음과 같은 오류를 만나게 될 것입니다.

main.py

파이썬3




10억에는 0이 몇 개나 있나요?

# importing module1 from another folder> import> Folder_2> # calling odd_even function> module1.odd_even(>5>)>

>

>

산출:

오류

모듈을 찾을 수 없음오류 , 기본적으로 Python 인터프리터는 현재 디렉터리의 파일만 확인하므로 다른 디렉터리에서 모듈을 가져오려면 파일 경로를 수동으로 설정해야 하기 때문입니다. 우리는 다양한 방법을 사용하여 이를 수행할 수 있습니다. 이러한 방법은 아래에서 자세히 설명합니다.

방법 1: sys 모듈을 사용하여 다른 디렉터리에서 모듈 가져오기

우리는 사용할 수 있습니다 sys.path 새로운 다른 폴더(모듈을 가져오려는 폴더)의 경로를 시스템 경로에 추가하여 Python이 현재 디렉터리에서 모듈을 찾지 못하는 경우 해당 디렉터리에서 모듈을 찾을 수도 있습니다. 처럼 sys.path 다음에 속한다 목록 유형 클래스 따라서 insert 메소드를 사용하여 폴더 경로를 쉽게 추가할 수 있습니다.

파이썬3




# importing sys> from> module1>import> odd_even, add> import> sys> # adding Folder_2 to the system path> sys.path.insert(>0>,>'/home/amninder/Desktop/Folder_2'>)> # importing the add and odd_even> # function> # calling odd_even function> odd_even(>5>)> # calling add function> print>(>'Addition of two number is :'>, add(>2>,>2>))>

>

자바의 obj
>

산출 :

시스템 사용

방법 2: PYTHONPATH 사용 환경 변수

마찬가지로, 시스템 새 디렉터리의 경로를 설정하는 모듈입니다. PYTHONPATH 변수에 디렉터리 경로를 할당하고 프로그램을 계속 작동시킬 수 있습니다.

~ 안에 리눅스 , 터미널에서 다음 명령을 사용하여 경로를 설정할 수 있습니다.

PYTHONPATH='경로/to/디렉토리' 내보내기

Windows 시스템에서:

SET PYTHONPATH=경로/대상/디렉토리

PYTHONPATH 변수에 새 폴더의 경로가 있는지 확인하려면 다음 명령을 사용할 수 있습니다.

에코 $PYTHONPATH

파이썬3

jquery 이 클릭




# importing the add and odd_even function> from> module1>import> odd_even, add> # calling odd_even function> odd_even(>5>)> # calling add function> print>(>'Addition of two number is :'>, add(>2>,>2>))>

>

>

산출:

PYTHONPATH 사용

다음과 같은 디렉토리 구조가 있다고 가정합니다.

- project - Folder_1 - main.py - Folder_2 - subfolder - new.py>

이제 new.py 모듈 폴더_2 우리 프로젝트의 Folder_1에 main.py 파일.

통사론:

project.folder.subfolder.filename에서 함수 이름 가져오기

비제이 영화배우

파이썬3




# importing sys> import> sys> # adding Folder_2/subfolder to the system path> sys.path.insert(>0>,>'/home/amninder/Desktop/project/Folder_2/subfolder'>)> # importing the hello> from> new>import> hello> # calling hello function> hello()>

>

>

산출:

산출