본문 바로가기
PYTHON/python 기초

[python] 다른 폴더 파일 import

by 자유데이터 2021. 1. 31.
반응형

데이터 분석가의 길, 자유데이터입니다.

 

 

파이썬 상위 하위 폴더에 있는 파일 import 하기

 

파이썬에는 패키지 import 말고 내가 만든 파일을 불러 올 수 있다.
가끔 사용하면 종종 헷갈리는데 이번에 확실하게 익혀보자.

  1. from import 차이
  2. 같은 폴더에 있는 파일 import
  3. 하위 폴더에 있는 파일 import
  4. 상위 폴더에 있는 파일 import

 

1. 그냥 import와 from import 차이

패키지를 불러 올 때 import를 사용하는데,
from 패키지 import 메서드 를 사용하면 매번 패키지명을 입력하는 번거로움을 줄일 수 있다.

# 1.import
import datetime

datetime.timedelta(days=3, hours=10, minutes=23)


# 2.from import
from datetime import timedelta

timedelta(days=3, hours=10, minutes=23)

 

1번과 2번 차이점이 있다.

 

2. 같은 폴더에 있는 파일 import

-folder1
--aaa.py
--bbb.py

위와 같이 folder1에 aaa.py 파일과 bbb.py 파일이 같이 있는 경우,
aaa.py에서 bbb.py를 불러오고 싶을 때

import bbb

# 참 쉽죠

 

 

3. 하위 폴더에 있는 파일 import

-folder1
--aaa.py
--bbb.py
--folder2
---ccc.py

위와 같이 folder1 안에 있는 folder2에 ccc.py 파일이 있는 경우,
aaa.py에서 ccc.py를 불러오고 싶을 때

from folder2 import ccc

# 폴더를 패키지로 생각하면 쉽다

 

 

4. 상위 폴더에 있는 파일 import

-folder1
--aaa.py
--bbb.py
--folder2
---ccc.py

반대로
ccc.py에서 aaa.py를 불러오고 싶을 때

import sys, os
sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))

import aaa

절대 경로 참조하는 코드를 넣으면 folder2와 같은 선상에 있는 aaa.py와 bbb.py를 import 할 수 있다.

 

-folder1
--aaa.py
--bbb.py
--folder2
---ccc.py
--folder3
---ddd.py

그렇다면, folder2와 같은 선상에 있는 folder3 안에 ddd.py 있는 경우,
ccc.py에서 ddd.py를 불러오고 싶을 때

import sys, os
sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))

from folder3 import ddd

마찬가지로 절대 경로 참조하는 코드를 넣어 folder2와 같은 선상에 있는 folder3를 import 할 수 있게 되어
ddd.py도 불러 올 수 있게 된다.

 

반응형

댓글