Python 표준 라이브러리 - sys 모듈(1)
Python 표준 라이브러리 - sys 모듈 (1)
Python 표준 라이브러리는 Python 인터프리터에 내장된 다양한 모듈과 패키지의 집합으로, Python 설치와 함께 자동으로 제공된다.
그 중 ‘sys’ 모듈은 Python에 내장된 파이썬 표준 라이브러리의 모듈의 한 부분이다. 당연 ‘sys’ 모듈 또한 Python 설치와 함께 자동으로 제공되므로 install 할 필요가 없다.
‘sys’ 모듈은 시스템 관련 정보를 얻거나 조작할 때 유용한 모듈이다.
불러오기
1
import sys
‘sys’ 모듈의 주요 변수 및 함수의 기능
1. ‘path’
- ‘sys.path’는 Python 모듈들의 검색 경로 리스트를 보여준다. 이 리스트에 포함된 디렉토리들은 Python이 모듈을 import할 때 확인하는 경로를 나타낸다.
- 같은 이름의 모듈이 여러 경로에 존재할 경우, 확인하는데 특히 유용하다.
출력 리스트 순서는 일관된 규칙에 따라 결정되며, Python 인터프리터가 시작될 때의 여러 조건에 의해 영향을 받는다.
- 현재 디렉토리
- 항상 ‘sys.path’의 첫번째 요소로 출력된다.
- 항상 ‘sys.path’의 첫번째 요소로 출력된다.
- ’PYTHONPATH’ 환경 변수
- Python 인터프리터가 모듈을 검색할 때 참조하는 추가 디렉토리 목록을 지정하는데 사용하는 환경 변수.
- ‘sys.path’에 경로를 추가하여 Python이 모듈을 찾을 때 검색 범위를 확장할 수 있게 해준다.
- ‘PYTHONPATH’ 환경 변수에 의한 경로들은 리스트 상단에 위치하지만, 정확한 순서는 확실하지 않다.
- Python 인터프리터가 모듈을 검색할 때 참조하는 추가 디렉토리 목록을 지정하는데 사용하는 환경 변수.
- 표준 라이브러리 디렉토리
- Python 인터프리터 표준라이브러리가 위치한 경로
- Python 인터프리터 표준라이브러리가 위치한 경로
- 서드파티 패키지 디렉토리
- 서드파티 패키지 디렉토리는 일반적으로 ‘site-package’ 디렉토리로 표기되며, pip 등을 통해 설치된 패키지들이 위치한 곳이다.
- 서드파티 패키지 디렉토리는 일반적으로 ‘site-package’ 디렉토리로 표기되며, pip 등을 통해 설치된 패키지들이 위치한 곳이다.
- 현재 디렉토리
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import sys
# 현재 sys.path 출력
print("현재 sys.path:")
for path in sys.path:
print(path)
# 새로운 모듈 경로 추가
new_path = '/path/to/directory'
if new_path not in sys.path:
sys.path.append(new_path)
# 변경 후 sys.path 출력
print("\n변경 후 sys.path:")
for path in sys.path:
print(path)
2. ‘argv’
- 커맨드 라인에서 스크립트로 넘겨진 인자들을 저장하는 리스트를 보여준다.
스크립트 파일을 실행할 때 사용자가 제공한 인자들을 처리하는 데 사용된다.
- ’sys.argv[0]’
- 스크립트의 이름을 출력한다.
- ’sys.argv[1]’, ‘sys.argv[2]’ . . .
- 스크립트에 전달된 추가 인자들을 출력한다.
- ’sys.argv[0]’
❌주의
- 모든 인자를 문자열로 출력한다. 다른 데이터 타입으로 사용하려면 변환을 해야 한다.
- 인자가 제공되지 않았을 때의 상황을 처리하는 코드를 작성하자.
1
2
3
4
5
6
7
8
import sys
# 스크립트 이름 출력
print("Script name:", sys.argv[0])
# 추가 인자들 출력
for i in range(1, len(sys.argv)):
print(f"arg{i}: {sys.argv[i]}")
다음 포스트에 남은 것들을 이어서..
This post is licensed under CC BY 4.0 by the author.