Python기초강의강좌, 파이썬기초강의강좌, 표준 라이브러리
#041 파이썬 기초 - 표준 라이브러리
파이썬 표준 라이브러리는 파이썬을 설치할 때 항상 함께 설치되는 많은 수의 유용한 모듈들을 말합니다. 파이썬 표준 라이브러리에 익숙해지면 이를 이용해 해결할 수 있는 많은 문제들을 좀 더 빠르고 쉽게 해결할 수 있습니다.
지금부터 표준 라이브러리에 포함된 많은 모듈 중에서 자주 사용되는 몇 가지 모듈에 대해 알아볼 것입니다. 파이썬 표준 라이브러리에 포함된 모든 모듈에 대한 자세한 설명은 파이썬과 함께 설치되는 설명서의 '라이브러리 레퍼런스' 섹션
https://docs.python.org/ko/3.9/library/index.html
파이썬 표준 라이브러리 — Python 3.9.16 문서
파이썬 표준 라이브러리 파이썬 언어 레퍼런스 는 파이썬 언어의 정확한 문법과 의미를 설명하고 있지만, 이 라이브러리 레퍼런스 설명서는 파이썬과 함께 배포되는 표준 라이브러리를 설명합
docs.python.org
에서 확인해 보실 수 있습니다.
여기서는 유용한 몇 개의 모듈만 다뤄 보겠습니다.
이 챕터에서 다루는 내용은 조금 어려울 수 있습니다. 그런 경우 일단 이 챕터를 읽지 말고 넘기세요. 그렇지만 여러분이 파이썬에 좀 더 익숙해지게 되면 이 챕터로 다시 돌아오기를 강력히 권합니다.
sys 모듈
sys 모듈에는 시스템의 기능을 다루는 여러 함수들이 들어 있습니다. 예를 들어 sys.argv 리 스트에는 명령줄 인수들이 들어 있습니다.
또 sys 모듈을 통해 현재 사용하고 있는 파이썬의 버전을 알아올 수 있습니다.
>>> import sys
>>> sys.version_info
sys.version_info(major=3, minor=9, micro=13, releaselevel='final', serial=0)
>>> sys.version_info.major == 2
False
>>> sys.version_info.major == 3
True
▶ 동작 원리
sys 모듈에는 version_info라고 하는 파이썬의 버전 정보가 담겨 있는 튜플이 들어 있습니다. 첫 번째 항목은 주 버전을 의미합니다. 이제 이 정보를 읽어와 사용할 수 있습니다.
logging 모듈
여러분이 디버그를 할 때 중간에 변수들의 내용 등을 출력하고 싶거나 혹은 실행 시 중요한 메시지를 어딘가에 저장해 두게 하여 여러분의 프로그램이 제대로 실행되고 있는지 확인하고 싶을 때 어떻게 하면 좋을까요? 어떻게 이러한 메시지들을 "어딘가에 저장해" 둘 수 있을까요? 이를 위해 logging 모듈을 사용합니다.
예제 ( stdlib_logging.py로 저장하세요)
# Filename : stdlib_logging.py
import os, platform, logging
if platform.platform().startswith('Windows'):
logging_file = os.path.join(os.getenv('HOMEDRIVE'),
os.getenv('HOMEPATH'),
'test.log')
else:
logging_file = os.path.join(os.getenv('HOME'),
'test.log')
print("Logging to", logging_file)
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s : %(levelname)s : %(message)s',
filename = logging_file,
filemode = 'w',
)
logging.debug("Start of the program")
logging.info("Doing something")
logging.warning("Dying now")
▶ 실행 결과:
C:\Anaconda\envs\study_39\python.exe E:\python_study\stdlib_logging.py
Logging to C:\Users\jnine\test.log
#파일을 열어 보면,
2023-03-13 17:53:55,609 : DEBUG : Start of the program
2023-03-13 17:53:55,609 : INFO : Doing something
2023-03-13 17:53:55,609 : WARNING : Dying now
▶ 동작 원리:
위 예제에서는 표준 라이브러리에 있는 세 가지 다른 모듈을 사용하였습니다. 그중 하나는 시스템의 운영 체제와 상호 작용할 때 쓰이는 os 모듈이고, 또 하나는 플랫폼(운영 체제라던지)의 정보를 알아오는 데 사용되는 platform 모듈이며 마지막 하나는 정보를 기록(log) 하는 데 사용되는 logging 모듈입니다.
먼저, platform.platform() 이 반환해 주는 문자열을 통해 현재 사용 중인 운영 체제가 무엇인지 알아옵니다 (이 모듈에 대해 더 자세히 알아보려면 import platform; help(platform)을 입력하세요). 이제 윈도 플랫폼인 경우 홈 드라이브 및 홈 폴더를 알아내어 정보를 저장해 둘 파일 이름을 구성합니다. 다른 플랫폼의 경우, 현재 사용자의 홈 폴더만 알면 파일의 전체 경로를 구성해 낼 수 있습니다.
다음으로 os.path.join() 함수를 이용하여 이 세 문자열을 하나의 경로 문자열로 합쳐 줍니다. 이때 문자열을 단순히 합치지 않고 이러한 특별한 함수를 이용하여 합쳐 준 것은 합쳐진 최종 경로가 현재 사용 중인 운영 체제의 형식에 맞는 형태로 생성되도록 확실하게 해 두기 위함입니다.
이제 logging 모듈을 이용하여 필요한 기록 사항들을 지정해 준 파일에 정해준 형식대로 기록합니다.
마지막으로 각 메시지가 디버깅 정보인지, 단순 정보인지, 경고나 혹은 중요한 메시지인지 등에 따라 다르게 저장해 줍니다. 이 프로그램이 실행되어도 화면에는 아무것도 출력해 주지 않지만, 이 파일의 내용을 확인해 보면 프로그램이 실행되며 어떤 일들이 일어났는지 확인할 수 있습니다.
더 많은 모듈
파이썬 표준 라이브러리에는 다음과 같은 더 많은 모듈이 있습니다. 디버깅 모듈, 명령행 옵션 관련 모듈, 정규 표현식 모듈 등등입니다
파이썬 표준 라이브러리에 대해 좀 더 알아볼 수 있는 좋은 방법은 파이썬 문서를 읽는 것입니다.
https://docs.python.org/ko/3.9/
3.9.16 Documentation
Python 3.9.16 문서 Welcome! This is the official documentation for Python 3.9.16. 설명서의 파트들: 파이썬 3.9 의 새로운 기능은? 2.0 이후의 모든 "새로운 기능" 문서 자습서 여기에서 시작하세요 라이브러리 레퍼
docs.python.org
파이썬 기본설명서 만으로도 많은 공부가 됩니다.
요약
지금까지 파이썬 표준 라이브러리에 있는 많은 모듈의 몇몇 기능들에 대해 다뤄 보았습니다. 이에 만족하지 말고, 파이썬 표준 라이브러리 문서를 읽고 사용 가능한 모든 모듈에 대한 정보를 알아보는 것을 추천해 드립니다.
다음 시간에는 우리의 파이썬 여정을 좀 더 완전하게 해 줄 파이썬의 여러 장점에 대해 알아보겠습니다.
감사합니다.
Do it! SQL을 찾아 주셔서 감사합니다. ♥ 댓글이 큰 힘이 됩니다. |
'IT > 파이썬 기초 (Python)' 카테고리의 다른 글
#043 파이썬 기초 - 더 많은 것들 II (85) | 2023.03.26 |
---|---|
#042 파이썬 기초 - 더 많은 것들 I (89) | 2023.03.25 |
#040 파이썬 기초 - 예외 처리 III (115) | 2023.03.23 |
#039 파이썬 기초 - 예외 처리 II (100) | 2023.03.22 |
#038 파이썬 기초 - 예외 처리 I (102) | 2023.03.21 |
댓글