본문 바로가기
IT/python

파이썬 os 모듈

by 뉴코딩맨 2023. 6. 1.
파이썬의 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

댓글