브렌쏭의 Veritas_Garage

[우리FISA] Python Modules, Library, Package 본문

[Project_하다]/[Project_공부]

[우리FISA] Python Modules, Library, Package

브렌쏭 2024. 7. 15. 15:18

PyPI

  • Python Package Index
  • Python 패키지들을 모아놓은 저장소
  • pip 명령어로 패키지를 설치할 수 있음
    • pip install 패키지명

모듈과 라이브러리, 패키지

모듈(Module)

  • 파이썬 코드를 담고 있는 파일
  • 다른 파이썬 프로그램에서 불러와 사용할 수 있음
  • import 모듈명으로 불러옴
  • 모듈명.함수명() 형태로 함수를 사용

import 한 모듈을 수정했을 때

모듈을 불러온 뒤 수정했다면 원본은 그대로 남아있음

  • 수정한 모듈을 다시 불러오면 수정된 모듈을 사용할 수 있음
    • 각각 다른 이름으로 불러오면 원본과 수정된 모듈을 동시에 사용할 수 있음
    • import 모듈명 as 새이름
    • from 모듈명 import 함수명 as 새이름

모듈을 수정하고, 그 이후에 불러왔다면 수정된 모듈을 사용하게 된다

모듈이 어디서 실행되는지 확인

  • sys.path로 모듈이 실행되는 디렉토리를 확인할 수 있음
import sys

print(sys.path)
  • sys.path에 있는 디렉토리 중 하나에 모듈을 넣으면 그 디렉토리에서 모듈을 불러올 수 있음
import sys

sys.path.append('C:/Users/username/Desktop')

라이브러리(Library)

  • 여러 모듈을 묶어놓은 것
  • 파이썬 표준 라이브러리(Standard Library)
  • 외부 라이브러리(External Library)
    • 별도 설치가 필요한 라이브러리
    • pip 명령어로 설치
    • https://pypi.org/
  • import 라이브러리명으로 불러옴

패키지(Package)

  • 여러 라이브러리를 묶어놓은 것
  • 패키지 안에는 여러 모듈이 포함될 수 있음
  • import 패키지명.모듈명으로 불러옴

Creating a Package

  • 패키지를 만들 때는 디렉토리를 만들고 그 안에 모듈을 넣음
  • 디렉토리 안에 __init__.py 파일을 만들어 패키지임을 알림
# 패키지 구조
package/
    __init__.py
    module1.py
    module2.py
# module1.py
def func1():
    print('module1.func1()')
# module2.py
def func2():
    print('module2.func2()')
# __init__.py
from . import module1
from . import module2
# 사용 예
import package

package.module1.func1()
package.module2.func2()
  • __init__.py 파일에 from . import 모듈명 형태로 모듈을 불러와야 함
  • 패키지를 불러올 때는 패키지명만 적어주면 됨

패키지 설치

  • 패키지를 설치할 때는 패키지명을 적어주면 됨
  • pip 명령어로 설치
    • pip install 패키지명
  • pip freeze로 설치된 패키지 목록을 확인할 수 있음
  • pip freeze > requirements.txt로 설치된 패키지 목록을 requirements.txt 파일로 저장할 수 있음
  • pip install -r requirements.txt로 requirements.txt 파일에 있는 패키지를 설치할 수 있음

import

  1. import 모듈명

    • 모듈 전체를 불러옴
    • 모듈명.함수명() 형태로 함수를 사용
  2. import 모듈명 as 새이름

    • 모듈 전체를 불러옴
    • 새이름.함수명() 형태로 함수를 사용
  3. from 모듈명 import 함수명

    • 모듈에서 특정 함수만 불러옴
    • 함수명() 형태로 함수를 사용
  4. from 모듈명 import 함수명 as 새이름

    • 모듈에서 특정 함수만 불러옴
    • 함수명() 형태로 함수를 사용
  5. from 모듈명 import *

    • 모듈의 모든 함수를 불러옴
    • 함수명() 형태로 함수를 사용
  6. from 모듈명 import 함수명1, 함수명2

    • 모듈에서 특정 함수들만 불러옴
    • 함수명1(), 함수명2() 형태로 함수를 사용

CoLab에서 파일 불러오기

from google.colab import drive

drive.mount('/content/drive')
  • 좌측의 폴더 아이콘을 클릭하면 /content/drive/My Drive에 마운트된 것을 확인할 수 있음
  • '/content/drive/My Drive/파일경로' 형태로 파일을 불러올 수 있음
import pandas as pd

df = pd.read_csv('/content/drive/My Drive/파일경로')

CoLab에서 파일 저장하기

df.to_csv('/content/drive/My Drive/파일경로', index=False)
  • index=False는 인덱스를 저장하지 않는 옵션
  • to_csv() 대신 to_excel(), to_json() 등 다양한 파일 형식으로 저장할 수 있음

Python Source File Execution

  • python 파일명.py로 파이썬 소스 파일을 실행할 수 있음

참조되어 모듈로써 사용되는 파일을 실행할 때는 if __name__ == '__main__':을 사용하여 실행 코드를 작성

  • if __name__ == '__main__':은 현재 파일이 실행되는 경우에만 코드를 실행하도록 함
# module.py
def func():
    print('func()')

if __name__ == '__main__':
    func()
# 실행
python module.py
Comments