os — 운영체제 인터페이스

os — 운영체제 인터페이스 (Miscellaneous operating system interfaces)

os 모듈은 운영체제에 의존하는 기능을 사용하기 위한 이식 가능한 인터페이스를 제공해요. 프로세스 파라미터, 파일 디스크립터 연산, 파일·디렉터리 조작, 시스템 정보 등 다양한 운영체제 기능을 한 곳에서 다룰 수 있어요. 이 모듈은 운영체제에 따라 존재하지 않는 기능이 있을 수 있으므로 적절한 예외 처리와 함께 사용해야 해요.

출처: Python documentation

본문

프로세스 파라미터 (Process Parameters)

  • os.supports_bytes_environ — 기본 OS 의 환경 타입이 바이트인지 나타내요. (예: Windows 에서는 False) 버전 3.2에서 추가됐어요.
  • os.umask(mask, /) — 현재 숫자 umask 를 설정하고 이전 umask 를 반환해요.

파일 디스크립터 연산 (File Descriptor Operations)

  • os.fchmod(fd, mode)fd 로 주어진 파일의 모드를 숫자 mode 로 변경해요. mode 가능 값은 chmod() 문서를 참고하세요. 파이썬 3.3부터 os.chmod(fd, mode) 와 동등해요.
  • os.fchown(fd, uid, gid)fd 로 주어진 파일의 소유자와 그룹 id 를 숫자 uidgid 로 변경해요. id 중 하나를 그대로 두려면 -1 로 설정해요. chown() 을 참고하세요. 파이썬 3.3부터 os.chown(fd, uid, gid) 와 동등해요.
  • os.readv(fd, buffers, /) — 파일 디스크립터 fd 에서 여러 개의 변경 가능한 bytes-like 객체 _buffers_ 로 읽어요. 각 버퍼가 가득 찰 때까지 데이터를 전송한 뒤 다음 버퍼로 넘어가 나머지 데이터를 담아요.

파일과 디렉터리 (Files and Directories)

  • os.chflags(path, flags, *, follow_symlinks=True)path 의 플래그를 숫자 flags 로 설정해요. flags 는 여러 값의 조합일 수 있어요.
  • os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)path 의 모드를 숫자 mode 로 변경해요. mode 는 지정된 값 중 하나일 수 있어요.
  • os.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True)path 의 소유자와 그룹 id 를 숫자 uidgid 로 변경해요. id 중 하나를 그대로 두려면 -1 로 설정해요. 이름으로도 받아들이는 더 높은 레벨 함수는 shutil.chown() 을 참고하세요.
  • os.lchflags(path, flags)chflags() 처럼 path 의 플래그를 숫자 flags 로 설정하되 심볼릭 링크는 따라가지 않아요. 파이썬 3.3부터 os.chflags(path, flags, follow_symlinks=False) 와 동등해요.
  • os.lchmod(path, mode)path 의 모드를 숫자 mode 로 변경해요. path 가 심볼릭 링크면 대상이 아니라 링크 자체에 적용돼요. 파이썬 3.3부터 os.chmod(path, mode, follow_symlinks=False) 와 동등해요.
  • os.lchown(path, uid, gid)path 의 소유자와 그룹 id 를 숫자 uidgid 로 변경해요. 심볼릭 링크는 따라가지 않아요. 파이썬 3.3부터 os.chown(path, uid, gid, follow_symlinks=False) 와 동등해요.
  • os.mkdir(path, mode=0o777, *, dir_fd=None) — 숫자 모드 modepath 이름의 디렉터리를 만들어요.
  • os.mkfifo(path, mode=0o666, *, dir_fd=None) — 숫자 모드 modepath 이름의 FIFO(이름 있는 파이프)를 만들어요. 모드에서 먼저 현재 umask 값이 걸러져요.
  • os.major(device, /) — 원시 장치 번호에서 장치 major 번호를 추출해요. (보통 statst_dev 또는 st_rdev 필드)
  • os.minor(device, /) — 원시 장치 번호에서 장치 minor 번호를 추출해요.
  • os.makedev(major, minor, /) — major 와 minor 장치 번호로 원시 장치 번호를 구성해요.

scandir()path 인자가 bytes 타입이면 path 속성이 bytes 가 되고, 그 외에는 str 이 돼요. 바이트 파일 이름을 디코딩하려면 fsdecode() 를 사용해요.

  • inode() — 항목의 inode 번호를 반환해요.

기타 시스템 정보 (Miscellaneous System Information)

  • os.getloadavg() — 지난 1, 5, 15분 동안 시스템 실행 큐의 프로세스 수를 반환해요. 로드 평균을 구할 수 없으면 OSError 를 발생시켜요.

난수 (Random numbers)

  • os.getrandom(size, flags=0) — 최대 size 바이트의 난수를 가져와요. 요청한 것보다 적은 바이트를 반환할 수 있어요. 이 바이트들은 사용자 공간 난수 생성기의 시드로 쓰거나 암호화 목적으로 사용할 수 있어요.

더 알아보기 (Learn more)