8.1 라이브러리 os
Python에는 os와 platform라는 내장 라이브러리가 있어. 이 라이브러리들은 운영체제와의 상호작용과 운영체제 정보를 얻기 위한 다양한 기능을 제공해.
이 라이브러리들은 파일 시스템, 프로세스, 환경 변수 및 운영체제의 다른 측면과 관련된 작업을 수행할 수 있게 해줘. 지금은 몇 가지 기능을 살펴볼 거야.
라이브러리 os
os 라이브러리는 운영체제와의 상호작용을 위한 기능을 제공해. 파일 시스템, 프로세스 관리, 환경 변수 등과 관련된 작업을 수행할 수 있어.
현재 작업 디렉토리 얻기:
import os
cwd = os.getcwd()
print("Current Working Directory:", cwd) # 현재 작업 디렉토리
현재 작업 디렉토리 변경:
os.chdir('/path/to/directory') # 디렉토리 경로로 변경
새 디렉토리 생성:
os.mkdir('new_directory') # 새로운 디렉토리 생성
디렉토리 삭제:
os.rmdir('new_directory') # 디렉토리 삭제
파일 및 디렉토리 목록:
files = os.listdir('.')
print("Files and directories:", files) # 파일과 디렉토리 목록
팁: 디렉토리, 카탈로그, 폴더라는 용어는 사실 같은 걸 의미해. 그냥 다른 운영체제에서 온 용어일 뿐이야.
환경 변수와 작업하는 법을 배우는 것도 유용할 거야. 환경 변수는 운영체제의 변수 같은 거라서, 프로그램에서 읽거나 설정할 수 있어.
환경 변수의 값 얻기:
home_dir = os.getenv('HOME')
print("Home Directory:", home_dir) # 홈 디렉토리
환경 변수의 값 설정:
os.environ['MY_VAR'] = 'my_value' # 환경 변수 설정
8.2 라이브러리 platform
platform 라이브러리는 Python이 실행되는 플랫폼 정보를 얻기 위한 기능을 제공해. 운영체제, CPU 아키텍처, Python 버전 등의 정보를 알 수 있어.
라이브러리 platform의 기본 기능
운영체제:
import platform
os_name = platform.system()
print("Operating System:", os_name) # 운영체제
네트워크에서의 컴퓨터 이름 (hostname):
node_name = platform.node()
print("Node Name:", node_name) # 노드 이름
운영체제 릴리즈:
os_release = platform.release()
print("OS Release:", os_release) # 운영체제 릴리즈
운영체제 버전:
os_version = platform.version()
print("OS Version:", os_version) # 운영체제 버전
CPU 아키텍처:
architecture = platform.architecture()
print("Architecture:", architecture) # 아키텍처
프로세서 타입:
processor = platform.processor()
print("Processor:", processor) # 프로세서
Python 버전:
python_version = platform.python_version()
print("Python Version:", python_version) # Python 버전
Python 컴파일러:
python_compiler = platform.python_compiler()
print("Python Compiler:", python_compiler) # Python 컴파일러
아직도 궁금하다면, 이 코드를 실행해서 네 컴퓨터를 프로그램의 눈으로 한 번 봐봐:
import platform
print("Operating System:", platform.system())
print("Node Name:", platform.node())
print("OS Release:", platform.release())
print("OS Version:", platform.version())
print("Machine:", platform.machine())
print("Processor:", platform.processor())
print("Architecture:", platform.architecture())
print("Python Version:", platform.python_version())
print("Python Compiler:", platform.python_compiler())
8.3 라이브러리 sys
라이브러리 sys는 Python 표준 라이브러리의 일부이고, Python 인터프리터와 상호작용하는 변수와 함수에 대한 접근을 제공해. 실행 환경 정보 얻기, 스크립트 실행 프로세스 관리, 시스템의 다양한 컴포넌트와의 상호작용에 유용해.
이 라이브러리를 사용하면 프로그램이 재미있는 것들을 할 수 있어.
1. 명령줄 인자
sys 라이브러리는 sys.argv 리스트를 통해 스크립트에 전달된 명령줄 인자를 받을 수 있게 해줘.
2. 프로그램 종료
함수 sys.exit()는 주어진 종료 상태 코드와 함께 프로그램 실행을 종료하게 해. 0은 보통 성공적인 종료를 의미하고, 0이 아닌 값은 오류를 나타내.
import sys
if len(sys.argv) < 2:
print("오류: 인자가 충분하지 않음")
sys.exit(1)
print("모든 인자가 올바르게 지정됨")
sys.exit(0)
3. 모듈 검색 경로
sys.path 리스트는 Python 인터프리터가 모듈을 찾기 위해 검색하는 경로를 포함해. 모듈 검색을 설정하기 위해 이 리스트에 새 경로를 추가할 수 있어.
import sys
print("모듈 검색 경로:")
for path in sys.path:
print(path)
# 새로운 경로 추가
sys.path.append('/path/to/my/modules')
print("업데이트된 모듈 검색 경로 리스트:", sys.path)
4. 시스템 정보
sys 라이브러리는 Python과 인터프리터에 대한 정보를 제공해, 예를 들어 Python 버전과 플랫폼 같은 것들.
import sys
# Python 버전
print("Python 버전:", sys.version)
# 플랫폼 정보
print("플랫폼:", sys.platform)
# int 크기 (바이트 단위)
print("int 크기:", sys.getsizeof(0), "바이트")
5. 설치된 모듈
sys.modules는 로드된 모든 모듈에 대한 정보를 포함하는 딕셔너리야. 로드된 모듈에 대한 정보를 얻거나 다시 임포트하는 데 사용할 수 있어.
import sys
# 로드된 모듈 리스트
print("로드된 모듈들:")
for module in sys.modules:
print(module)
GO TO FULL VERSION