파이썬의 os 모듈은 운영 체제와 상호 작용하기 위한 기능을 제공하는 모듈입니다. os 모듈의 주요 기능과 사용법에 대해 알아보고, 다양한 활용 사례를 살펴보겠습니다.
파일 및 디렉토리 조작
os 모듈은 파일 및 디렉토리를 생성, 이동, 삭제, 이름 변경 등을 포함한 다양한 조작을 수행할 수 있습니다. 몇 가지 주요 함수들은 다음과 같습니다.
- os.getcwd(): 현재 작업 디렉토리를 반환합니다.
- os.chdir(path): 작업 디렉토리를 변경합니다.
- os.mkdir(path): 디렉토리를 생성합니다.
- os.rmdir(path): 디렉토리를 삭제합니다.
- os.remove(path): 파일을 삭제합니다.
- os.rename(src, dst): 파일 또는 디렉토리의 이름을 변경합니다.
import os
current_dir = os.getcwd()
os.chdir('/path/to/new/directory')
os.mkdir('new_directory')
os.rmdir('new_directory')
os.remove('file.txt')
os.rename('old_file.txt', 'new_file.txt')
경로 조작
os 모듈은 파일 및 디렉토리 경로를 조작하는 기능을 제공합니다. 주요 함수들은 다음과 같습니다.
- os.path.join(path, *paths): 경로 구성 요소를 결합하여 새 경로를 생성합니다.
- os.path.exists(path): 경로가 존재하는지 확인합니다.
- os.path.isdir(path): 경로가 디렉토리인지 확인합니다.
- os.path.isfile(path): 경로가 파일인지 확인합니다.
import os
new_path = os.path.join('/path/to', 'new_directory')
if os.path.exists(new_path):
if os.path.isdir(new_path):
print('디렉토리가 이미 존재합니다.')
elif os.path.isfile(new_path):
print('파일이 이미 존재합니다.')
else:
print('경로가 존재하지 않습니다.')
환경 변수
os 모듈을 사용하여 환경 변수에 접근하고 조작할 수도 있습니다. 몇 가지 주요 함수들은 다음과 같습니다.
- os.environ: 현재 시스템의 환경 변수를 담은 딕셔너리입니다.
- os.getenv(name): 주어진 이름의 환경 변수 값을 반환합니다.
- os.putenv(name, value): 환경 변수 값을 설정합니다.
import os
username = os.getenv('USERNAME')
print(f'사용자 이름: {username}')
os.putenv('MY_VARIABLE', 'my_value')
기타 기능
os 모듈은 이 외에도 여러 가지 기능을 제공합니다.
- os.system(command): 시스템 명령을 실행합니다.
- os.walk(top): 디렉토리 트리를 순회하면서 파일을 검색합니다.
- os.urandom(n): 암호학적으로 안전한 난수를 생성합니다.
import os
os.system('ls -l')
for dirpath, dirnames, filenames in os.walk('/path/to/directory'):
for filename in filenames:
print(os.path.join(dirpath, filename))
random_bytes = os.urandom(10)
마무리
이상으로 파이썬의 os 모듈에 대해 알아보았습니다. os 모듈은 운영 체제와 상호 작용하기 위한 다양한 기능을 제공하여 파일, 디렉토리, 환경 변수 등을 다룰 수 있습니다. 다양한 기능과 함수를 활용하여 프로그래밍 작업을 효율적으로 수행해 보세요!
'IT > python' 카테고리의 다른 글
파이썬 glob 모듈 (0) | 2023.06.02 |
---|---|
파이썬 pickle 모듈 (0) | 2023.06.01 |
파이썬 random 모듈 (0) | 2023.05.31 |
파이썬 집합(Set) (0) | 2023.05.31 |
파이썬 딕셔너리(Dictionary) (0) | 2023.05.30 |
댓글