Python/포스팅

파이썬 sys 모듈

짜집퍼박사(짜박) 2023. 12. 3. 01:56

sys 모듈은 파이썬의 내장 모듈 중 하나로, 시스템과 관련된 많은 기능을 제공합니다. 이 모듈은 파이썬 인터프리터가 실행되는 환경과 관련된 정보를 제공하고, 명령행 인수를 다루고, 파이썬 프로그램의 종료와 관련된 기능을 수행하는 데 사용됩니다.

일반적으로 sys 모듈은 다음과 같이 사용됩니다.

import sys

이제 sys 모듈의 주요 기능들을 살펴보겠습니다.

 

1. 명령행 인수 (Command Line Arguments)

sys.argv 리스트를 통해 명령행 인수에 접근할 수 있습니다. 이 리스트의 첫 번째 요소는 스크립트의 이름이고, 그 뒤에는 전달된 명령행 인수들이 차례로 나열됩니다.

import sys

# 스크립트 이름 출력
print("Script name:", sys.argv[0])

# 명령행 인수 출력
print("Arguments:", sys.argv[1:])
모듈 검색 경로 (Module Search Path):

sys.path는 모듈을 검색할 때 사용되는 경로를 포함하는 리스트입니다. 이 경로는 문자열 형태의 디렉터리들로 이루어져 있습니다.

import sys

# 모듈 검색 경로 출력
print("Module search path:", sys.path)

 

2. 표준 입출력 스트림 (Standard I/O Streams)

sys.stdin, sys.stdout, sys.stderr는 각각 표준 입력, 표준 출력, 표준 에러 스트림을 나타냅니다. 이를 통해 입출력을 조작할 수 있습니다.

import sys

# 표준 입력에서 읽기
user_input = sys.stdin.readline()
print("You entered:", user_input.strip())

# 표준 출력에 쓰기
sys.stdout.write("This is standard output.\n")

# 표준 에러에 쓰기
sys.stderr.write("This is standard error.\n")

 

3. 프로그램 종료 (Exit Program)

sys.exit() 함수를 사용하여 프로그램을 종료할 수 있습니다. 이 함수는 정상 종료일 때는 0을 반환하고, 오류가 발생했을 때는 0이 아닌 값을 반환합니다.

import sys

# 프로그램 정상 종료
sys.exit(0)

# 프로그램 오류 종료
sys.exit(1)

 

4. 메모리 관리 및 강제 가비지 수거

sys.getsizeof() 함수는 객체의 크기를 바이트 단위로 반환합니다. sys.getrefcount() 함수는 객체에 대한 현재 참조 개수를 반환합니다. sys.getsizeof()와 sys.getrefcount()는 메모리 관리와 디버깅에 유용합니다.

import sys

my_list = [1, 2, 3, 4, 5]

# 리스트의 크기 출력
print("Size of the list:", sys.getsizeof(my_list))

# 리스트의 참조 개수 출력
print("Reference count of the list:", sys.getrefcount(my_list))

 

이 외에도 sys 모듈에는 다양한 기능이 포함되어 있습니다. 위에서 소개한 것들 외에도 sys.platform, sys.version, sys.maxsize 등 다양한 시스템 관련 정보를 얻을 수 있습니다. sys 모듈의 공식 문서를 참고하면 더 많은 정보를 얻을 수 있습니다.

 

With ChatGPT

'Python > 포스팅' 카테고리의 다른 글

파이썬 객체  (0) 2023.12.03
파이썬 클래스  (0) 2023.12.03
파이썬 프로그램의 입출력  (0) 2023.12.03
파이썬 파일 with문  (0) 2023.12.03
파이썬 파일 내용 추가  (0) 2023.12.03