반응형

파이썬의 os 라이브러리는 운영 체제와 상호 작용하는 기능을 제공합니다. 파일 및 디렉토리 관리, 시스템 명령 실행, 환경 변수 조작 등 다양한 작업을 코드를 통해 손쉽게 수행할 수 있습니다.

 

목차

  1. 파이썬 OS 라이브러리 소개
  2. 기본적인 OS 모듈 함수
  3. 파일 및 디렉토리 관리
  4. 파일 및 디렉토리 정보 얻기
  5. 시스템 명령어 및 환경 변수
  6. 경로 관련 함수
  7. 파일 I/O 및 작업
  8. 기타 유용한 함수들
  9. 실전 예제 및 응용
  10. 주의사항 및 팁

 

1. 파이썬 OS 라이브러리 소개

파이썬의 os 라이브러리는 운영 체제와 상호작용하는 다양한 기능을 제공합니다. 이를 통해 파일 및 디렉토리 관리, 시스템 명령어 실행, 경로 관련 작업 등의 기능을 파이썬 코드로 손쉽게 처리할 수 있습니다.

 

OS 라이브러리의 목적 및 용도

os 라이브러리의 주요 목적은 프로그래밍 언어 수준에서 운영 체제의 기능에 접근하도록 도와주는 것입니다. 이를 통해 파일 생성, 수정, 삭제, 디렉토리 작업, 환경 변수 관리 등의 작업을 수행할 수 있습니다.

 

설치 및 환경 설정

os 모듈은 파이썬의 표준 라이브러리에 포함되어 있으므로 추가적인 설치가 필요하지 않습니다. import os 문을 사용하여 간단하게 가져올 수 있습니다.

import os

 

2. 기본적인 OS 모듈 함수

OS 모듈은 다양한 함수를 제공하며, 그 중 몇 가지 기본적인 함수를 살펴보겠습니다.

 

os.name: 운영 체제의 이름

os.name 함수는 현재 실행되고 있는 운영 체제의 이름을 반환합니다. 주로 'posix', 'nt' 등의 값을 가질 수 있습니다.

print(os.name)  # 'posix' 또는 'nt' 등 출력

 

os.getcwd(): 현재 작업 디렉토리 가져오기

현재 작업 디렉토리를 반환하는 함수입니다. 이는 프로그램이 현재 어디에 위치하고 있는지 알아내는 데 유용합니다.

current_directory = os.getcwd()
print(current_directory)

 

os.chdir(): 작업 디렉토리 변경하기

os.chdir() 함수는 작업 디렉토리를 변경하는 함수입니다. 이를 사용하여 프로그램의 작업 경로를 다른 위치로 이동할 수 있습니다.

os.chdir('/path/to/directory')

 

3. 파일 및 디렉토리 관리

파일 및 디렉토리를 관리하는 작업은 os 라이브러리의 주요 기능 중 하나입니다.

 

os.makedirs(): 디렉토리 생성하기

존재하지 않는 디렉토리를 생성할 때 사용하는 함수입니다.

os.makedirs('new_directory')

 

os.rmdir(): 디렉토리 삭제하기

빈 디렉토리를 삭제할 때 사용합니다.

os.rmdir('directory_to_remove')

 

os.remove(): 파일 삭제하기

특정 파일을 삭제할 때 사용하는 함수입니다.

os.remove('file_to_remove.txt')

 

os.rename(): 파일 및 디렉토리 이름 변경하기

파일 또는 디렉토리의 이름을 변경할 때 사용하는 함수입니다.

os.rename('old_name.txt', 'new_name.txt')

 

4. 파일 및 디렉토리 정보 얻기

파이썬의 os 라이브러리는 파일 및 디렉토리의 정보를 손쉽게 얻을 수 있는 기능도 제공합니다.

 

os.stat(): 파일의 속성 가져오기

os.stat() 함수는 파일의 다양한 속성, 예를 들면 크기, 수정 시간 등을 반환합니다.

file_info = os.stat('example.txt')
print(file_info.st_size)  # 파일 크기 출력

 

os.listdir(): 디렉토리 내의 파일 및 서브 디렉토리 리스트

현재 디렉토리 또는 지정된 디렉토리 내의 파일과 서브 디렉토리 목록을 반환합니다.

directory_content = os.listdir('.')
print(directory_content)

 

5. 시스템 명령어 및 환경 변수

os 라이브러리를 이용하면 시스템 명령어의 실행 및 환경 변수의 관리도 가능합니다.

 

os.system(): 시스템 명령어 실행하기

OS의 시스템 명령어를 직접 실행할 수 있습니다.

os.system('echo Hello World')

 

os.environ: 환경 변수 정보

os.environ은 현재 환경 변수의 딕셔너리를 제공합니다.

print(os.environ['PATH'])

 

os.getenv() 및 os.putenv(): 환경 변수값 가져오기 및 설정하기

환경 변수의 값을 가져오거나 설정할 때 사용됩니다.

# 값을 가져옴
path_value = os.getenv('PATH')

# 값을 설정
os.putenv('MY_VARIABLE', 'value')

 

6. 경로 관련 함수

파일 및 디렉토리의 경로와 관련된 다양한 작업을 지원합니다.

 

os.path.join(): 경로 결합하기

두 개 이상의 경로 구성 요소를 안전하게 결합할 수 있습니다.

full_path = os.path.join('/home', 'user', 'documents', 'file.txt')
print(full_path)

 

os.path.split() 및 os.path.exists(): 경로 분리 및 경로의 존재 확인하기

경로를 디렉토리와 파일로 분리하거나, 경로의 존재를 확인할 수 있습니다.

directory, filename = os.path.split(full_path)
print(directory, filename)

# 경로의 존재 확인
print(os.path.exists('/home/user/documents'))

 

os.path.isdir() 및 os.path.isfile(): 디렉토리 및 파일 여부 확인하기

특정 경로가 디렉토리인지, 파일인지를 확인하는 함수입니다.

print(os.path.isdir('/home/user'))
print(os.path.isfile(full_path))

 

7. 파일 I/O 및 작업

os 라이브러리는 파일 입출력 작업에 대한 낮은 수준의 함수도 제공합니다.

 

os.open(), os.read(), os.write(), os.close() : 기본적인 파일 작업

이들 함수를 통해 파일을 열고, 읽고, 쓰고, 닫는 기본 작업을 수행할 수 있습니다.

fd = os.open("example.txt", os.O_RDWR)
content = os.read(fd, 15)
os.write(fd, b'Hello, World!')
os.close(fd)

 

os.pipe() : 파이프 사용하기

os.pipe() 함수는 파이프를 생성하여 프로세스 간의 통신을 가능하게 합니다.

read_fd, write_fd = os.pipe()
os.write(write_fd, b'pipe data')
data = os.read(read_fd, 1024)
print(data)

 

8. 기타 유용한 함수들

os 라이브러리에는 파일 및 디렉토리 관련된 다양한 유틸리티 함수들이 포함되어 있습니다.

 

os.walk() : 디렉토리 트리 걸어 다니기

os.walk() 함수는 디렉토리 트리를 위에서 아래로 또는 아래서 위로 걸어 다닐 수 있게 해줍니다.

for dirpath, dirnames, filenames in os.walk('.'):
    print(f"Current directory: {dirpath}")
    for file in filenames:
        print(file)

 

os.spawn*() 및 os.kill() : 자식 프로세스 시작 및 종료하기

os.spawn*() 함수들은 새로운 프로세스를 시작하는 데 사용되며, os.kill()은 프로세스를 종료합니다.

# pid = os.spawnl(os.P_DETACH, 'path/to/program', 'arg1', 'arg2')
# os.kill(pid, signal.SIGTERM)

 

9. 실전 예제 및 응용

파이썬의 os 라이브러리를 활용하면 파일 및 디렉토리 관리 작업을 자동화하는 스크립트를 간편하게 작성할 수 있습니다. 예를 들어, 특정 확장자를 가진 파일만을 찾아서 백업 디렉토리로 복사하는 작업을 수행하는 스크립트를 작성할 수 있습니다.

 

10. 주의사항 및 팁

os 라이브러리를 사용할 때는 특히 파일 삭제 또는 시스템 명령어 실행과 같은 민감한 작업을 수행할 때 주의해야 합니다. 항상 코드를 실행하기 전에 테스트를 수행하고, 가능한 한 예외 처리를 포함시키는 것이 좋습니다.

 

 

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기