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 |