[Python] 파이썬에서 다른 py 파일의 변수/함수 호출
변수/함수가 다른 파이썬 파일에 정의되어있을 때, 가져와서 사용하는 방법에 대해 알아보자
라이브러리와 같이 import 혹은 from ~ import 문을 사용해서 가져올 수 있다.
먼저 파이썬 프로젝트 폴더 내의 test라는 폴더가 있고 그안에 test.py란 파일을 생성해준다.
test.py 의 내용은 다음과 같다.
name = "one"
def test(name):
return print(f"my name is {name}")
같은 폴더 내의 파일 import
import 파일명
test 폴더에 test2.py 파일을 생성해서 다음과 같이 import 해준다.
import test
name = test.name
test.test(name)
다음과 같이 test.py에 정의했던 변수/함수를 잘 가져오는 모습을 볼 수 있다.
import test만 할 경우에 test.(변수명)/(함수명)을 써줘야하는데,
이걸 쓰기 번거롭다면 from ~ import를 사용하면 된다.
from test import *
test(name)
>> my name is one
예제에선 애스터리스크(*)로 전체를 가져왔지만 필요한 함수명만 지정하여 가져올 수도 있다.
다른 폴더에 있는 파일 import
하위 폴더에 있는 파일 import
from 폴더명 import 파일명
test_import 폴더를 생성해준다. 그후 test_import 폴더 내에 test3.py 파일을 생성해준다.
test3.py의 내용은 다음과 같다.
def add(a: int, b: int) -> int:
return print(f"{a}+{b}는 {a+b}")
위 파일을 test.py에서 가져와서 사용해보자
from test_import import test3
test3.add(1,2)
>> 1+2는 3
만약 test3.py에 아래와같이 정의된 함수가 2개고 sub 함수만 가져와서 사용하고 싶을 땐
def add(a: int, b: int) -> int:
return print(f"{a}+{b}는 {a+b}")
def sub(a: int, b: int) -> int:
return print(f"{a}-{b}는 {a-b}")
다음과 같이 가져와서 사용 할 수 있다.
from test_import.test3 import sub
sub(1, 2)
>> 1-2는 -1
상위 폴더에 있는 파일 import
test_import 폴더를 test 내로 옮겨준다.
상위 폴더에 있는 파일을 import 하는 방법은 2가지다.
첫번째로 상위 폴더의 경로와 현재 폴더의 경로를 똑같이 맞춰주는 방법이다.
import sys, os
sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))
from 상위 폴더 import 파일명
import sys, os
sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))
from test_import import test3
test3.add(1,2)
>> 1+2는 3
또는 절대 경로를 지정하는 방법이 있다.
import sys
sys.path.append(파일 경로)
from . import 파일명
import sys
file_path = "./test_import"
sys.path.append(file_path)
import test3
test3.add(1,2)
>> 1+2는 3
참고
'👩💻 Develope > Python' 카테고리의 다른 글
[Pandas] 데이터프레임 순회하기 (1) | 2023.11.30 |
---|---|
[Pandas] Query (0) | 2023.11.23 |
[Python] plotly 사용하기 (1) Line 그래프 (0) | 2023.11.17 |
[Pandas] Group by (0) | 2023.11.15 |
[Pandas] 데이터 프레임 특정 조건에 맞는 값 추출 (1) | 2023.11.14 |