일반 운영 체제 서비스

일반 운영 체제 서비스 (Generic Operating System Services)

이 장에서 설명하는 모듈들은 (거의) 모든 운영 체제에서 사용 가능한 운영 체제 기능 — 파일, 시계 같은 것들 — 에 대한 인터페이스를 제공해요.

이 인터페이스들은 일반적으로 Unix나 C 인터페이스를 본떠 만들었지만, 대부분의 다른 시스템에서도 사용할 수 있어요.

이 장은 파이썬 표준 라이브러리에서 운영 체제와 직접 맞닿는 모듈들을 모아 둔 목차 페이지예요.

각 모듈이 무엇을 다루는지, 어떤 상황에서 유용한지 하나씩 살펴볼게요.

출처: Python documentation

본문

os — 기타 운영 체제 인터페이스

os 모듈은 운영 체제 기능 전반에 대한 이식 가능한 인터페이스를 제공해요.

파일 이름과 커맨드라인 인자, 환경 변수에 접근하고, 파이썬 UTF-8 모드, 프로세스 매개변수, 파일 객체 생성, 파일 디스크립터 연산까지를 다뤄요.

또 터미널 크기 조회, 파일 디스크립터 상속 제어, 파일과 디렉터리 조작, 타이머 파일 디스크립터, 리눅스 확장 속성(xattr), 프로세스 관리, 스케줄러 인터페이스, 기타 시스템 정보와 난수 생성까지 폭넓게 제공해요.

파일·디렉터리·프로세스를 다루는 대부분의 작업이 여기서 시작돼요.

io — 스트림 작업의 핵심 도구

io 모듈은 파이썬의 모든 I/O 시스템의 기반이에요.

텍스트 I/O(문자열 기반), 바이너리 I/O(bytes 기반), 로우 I/O(원시 문서)로 나뉘고, 텍스트 인코딩과 EncodingWarning을 다뤄요.

고수준 모듈 인터페이스, 클래스 계층, I/O 기본 클래스, 파일/버퍼/텍스트 I/O, 정적 타이핑 지원, 성능 고려사항, 멀티스레딩과 재진입(reentrancy) 문제까지 설명해요.

time — 시간 접근과 변환

time 모듈은 시간을 가져오고 형식화하며 변환하는 함수를 제공해요.

시계 ID 상수(각기 다른 기준을 가진 시계들)와 시간대 상수를 포함해요.

sleep(), 성능 측정용 perf_counter(), 시각을 특정 형식으로 변환하는 기능 등이 있어요.

logging — 파이썬 로깅 기능

logging 모듈은 애플리케이션의 로그 출력을 체계적으로 관리해 줘요.

Logger 객체, 로깅 레벨, Handler/Formatter/Filter 객체, LogRecord 객체와 그 속성, LoggerAdapter를 다뤄요.

스레드 안전성, 모듈 수준 함수와 속성, warnings 모듈과의 통합까지 포함돼요.

logging.config — 로깅 구성

logging.config는 로깅 구성을 다루는 모듈이에요.

구성 함수, 보안 고려사항, 구성 사전 스키마, 점진적 구성, 객체 연결, 사용자 정의 객체, 핸들러 구성 순서, 외부/내부 객체 접근, import 해석과 사용자 정의 importer, QueueHandler/QueueListener 구성, 구성 파일 형식을 다뤄요.

logging.handlers — 로깅 핸들러

logging.handlers는 다양한 출력 대상으로 로그를 보내는 핸들러 모음이에요.

StreamHandler, FileHandler, NullHandler, WatchedFileHandler, BaseRotatingHandler, RotatingFileHandler, TimedRotatingFileHandler를 포함해요.

SocketHandler, DatagramHandler, SysLogHandler, NTEventLogHandler, SMTPHandler, MemoryHandler, HTTPHandler, QueueHandler, QueueListener도 포함해요.

platform — 기본 플랫폼 식별 데이터

platform 모듈은 실행 중인 플랫폼의 식별 정보에 접근해요.

크로스 플랫폼 함수와 Java, Windows, macOS, iOS, Unix, Linux, Android 플랫폼 각각에 특화된 함수를 제공하고, 커맨드라인 사용법도 지원해요.

배포·호환성 판단에 유용해요.

errno — 표준 errno 시스템 기호

errno 모듈은 운영 체제 오류 코드를 나타내는 표준 errno 상수 모음을 제공해요.

ENOENT 같은 C errno 값과 대응하는 errorcode 사전 등이 있어요.

ctypes — 파이썬용 외부 함수 라이브러리

ctypes 모듈은 C 라이브러리를 직접 호출할 수 있게 해 주는 외부 함수 라이브러리예요.

튜토리얼(공유 라이브러리 로딩, dll에서 함수 접근, 함수 호출, 기본 데이터 타입, 가변 인자 함수, 사용자 정의 타입, 함수 프로토타입, 반환 타입, 포인터/구조체/공용체/배열, GIL 없는 스레드 안전성, 타입 변환, 콜백 함수, dll에서 값 접근 등)을 다뤄요.

레퍼런스(공유 라이브러리 탐색/로딩, 외부 함수, 함수 프로토타입, 유틸리티 함수, 데이터 타입, 예외)도 다뤄요.

더 알아보기 (Learn more)