euny!
errorlog
euny!
전체 방문자
오늘
어제
  • 분류 전체보기 (22)
    • Python (13)
    • 데이터분석 (3)
    • WIL (4)
    • SQL (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • BeautifulSoup
  • SQL
  • 크롤링
  • 웹스크래핑
  • ㅗ
  • 웹크롤링

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
euny!

errorlog

[Python] 기초 문법 - 모듈, 패키지
Python

[Python] 기초 문법 - 모듈, 패키지

2023. 1. 6. 16:54

모듈

- 변수, 함수, 클래스를 하나의 파일(.py)로 모아서 코드 작성

 

모듈 만들기

%%writefile ai_school.py
data = 'python'

def echo(msg):
    print('ai school : ', msg)

모듈 사용하기

import ai_school
from ai_school import echo
from ai_school import data, echo
from ai_school import *

또한 아래와 같이 alias를 사용하여 간단히 사용 가능

import ai_school as ais
print(ais.data)
ais.echo('fighting!')

 

패키지

- 여러개의 모듈을 디렉토리 구분하여 코드를 작성

 

디렉토리 구조를 확인하기 위한 우분투 패키지인 tree 설치

!apt-get install tree -y

패키지를 만들고, 사용해보기

 

1. 패키지 구조 만들기

- mkdir : 디렉토리 만들기

- -p : 상위 디렉토리를 만들면서 디렉토리 만들기

- touch : 파일 생성

!mkdir -p stock/stock/kor
!mkdir -p stock/stock/usa

 

2. 모듈파일 추가

%%writefile stock/stock/kor/kospi.py
def crawl_kospi():
    print('crawl_kospi')
%%writefile stock/stock/kor/kosdaq.py
def crawl_kosdaq():
    print('crawl_kosdaq')
%%writefile stock/stock/usa/snp500.py
def crawl_snp500():
    print('crawl_snp500')
%%writefile stock/stock/usa/nasdaq.py
def crawl_nasdaq():
    print('crawl_nasdaq')

구조 확인하기

!tree stock
>>
stock
└── stock
    ├── kor
    │   ├── kosdaq.py
    │   └── kospi.py
    └── usa
        ├── nasdaq.py
        └── snp500.py

3 directories, 4 files

3. setup.py 파일 생성하기

%%writefile stock/setup.py
from setuptools import setup, find_packages

setup(
    name = 'stock',
    version ='0.0.1',
    author = 'ai_school',
    author_email='ai_school@likelion.net',
    packages = find_packages(),
    include_package_data=True
)

4. __init__.py 설정하기

- 패키지에 있는 디렉토리의 모듈을 설정하는 파일

- __init__.py python3.x 버전부터는 쓰지 않아도 문제 X

- 하위버전 호환성을 이유로 __init__.py를 써주는것이 좋음

%%writefile stock/stock/__init__.py
from .kor.kosdaq import crawl_kosdaq
from .kor.kospi import crawl_kospi
from .usa.nasdaq import crawl_nasdaq

여기까지 패키지가 만들어졌다고 할 수 있다

5. 만든 패키지 설치하기

- -e 옵션 : 개발자 모드 옵션 : 패키지 설치 후에 코드를 수정해도 수정된 코드가 적용

!pip install -e stock

6. 패키지 사용하기

import stock.kor.kospi
stock.kor.kospi.crawl_kospi()

import stock.kor.kospi as skk
skk.crawl_kospi()

from stock.kor import kospi
kospi.crawl_kospi()

'Python' 카테고리의 다른 글

[Python] 기초 문법 - 예외처리  (0) 2023.01.06
[Python] 기초 문법 - 입출력  (0) 2023.01.06
[Python] 기초 문법 - 클래스(2)  (0) 2023.01.06
[Python] 기초 문법 - 클래스(1)  (0) 2023.01.05
[Python] 네이버 파파고 번역 API 사용하기  (0) 2023.01.04
    'Python' 카테고리의 다른 글
    • [Python] 기초 문법 - 예외처리
    • [Python] 기초 문법 - 입출력
    • [Python] 기초 문법 - 클래스(2)
    • [Python] 기초 문법 - 클래스(1)
    euny!
    euny!

    티스토리툴바