errno — 표준 errno 시스템 심볼
errno — 표준 errno 시스템 심볼
이 모듈은 표준 errno 시스템 심볼을 사용할 수 있게 해 줍니다. 각 심볼의 값은 해당 정수 값입니다. 이름과 설명은 linux/include/errno.h에서 가져온 것으로, 포괄적이어야 합니다.
본문
errno.errorcode는 errno 값을 기반 시스템의 문자열 이름에 매핑하는 딕셔너리입니다. 예를 들어 errno.errorcode[errno.EPERM]은 'EPERM'에 매핑됩니다. 숫자 오류 코드를 오류 메시지로 번역하려면 os.strerror()를 사용하세요.
다음 목록 중 현재 플랫폼에서 사용되지 않는 심볼은 모듈에서 정의되지 않습니다. 정의된 심볼의 구체적인 목록은 errno.errorcode.keys()로 사용할 수 있습니다.
주요 심볼과 매핑된 예외
다음 심볼들은 해당 Python 예외에 매핑됩니다:
errno.EPERM— Operation not permitted (허용되지 않은 연산).PermissionError에 매핑.errno.ENOENT— No such file or directory (그런 파일이나 디렉터리 없음).FileNotFoundError에 매핑.errno.ESRCH— No such process (그런 프로세스 없음).ProcessLookupError에 매핑.errno.EINTR— Interrupted system call (중단된 시스템 호출).InterruptedError에 매핑.errno.ECHILD— No child processes (자식 프로세스 없음).ChildProcessError에 매핑.errno.EAGAIN— Try again (다시 시도).BlockingIOError에 매핑.errno.EACCES— Permission denied (권한 거부).PermissionError에 매핑.errno.EEXIST— File exists (파일 존재).FileExistsError에 매핑.errno.ENOTDIR— Not a directory (디렉터리 아님).NotADirectoryError에 매핑.errno.EISDIR— Is a directory (디렉터리임).IsADirectoryError에 매핑.errno.EPIPE— Broken pipe (깨진 파이프).BrokenPipeError에 매핑.errno.EWOULDBLOCK— Operation would block (연산이 차단됨).BlockingIOError에 매핑.errno.ECONNABORTED— Software caused connection abort.ConnectionAbortedError에 매핑.errno.ECONNRESET— Connection reset by peer.ConnectionResetError에 매핑.errno.ESHUTDOWN— Cannot send after transport endpoint shutdown.BrokenPipeError에 매핑.errno.ETIMEDOUT— Connection timed out (연결 시간 초과).TimeoutError에 매핑.errno.ECONNREFUSED— Connection refused (연결 거부).ConnectionRefusedError에 매핑.errno.EALREADY,errno.EINPROGRESS— Operation already/in now in progress.BlockingIOError에 매핑.errno.ENOTCAPABLE— Capabilities insufficient.PermissionError에 매핑 (3.11.1에서 추가).
기타 일반 심볼
매핑된 예외가 없는 다른 심볼들도 있습니다:
errno.EIO— I/O errorerrno.ENXIO— No such device or addresserrno.E2BIG— Arg list too longerrno.ENOEXEC— Exec format errorerrno.EBADF— Bad file numbererrno.ENOMEM— Out of memoryerrno.EFAULT— Bad addresserrno.EBUSY— Device or resource busyerrno.EXDEV— Cross-device linkerrno.ENODEV— No such deviceerrno.EINVAL— Invalid argumenterrno.ENFILE/errno.EMFILE— 파일 테이블 오버플로 / 너무 많은 열린 파일errno.ENOSPC— No space left on deviceerrno.EROFS— Read-only file systemerrno.EDOM/errno.ERANGE— 수학 인자 도메인 밖 / 수학 결과 표현 불가errno.ENAMETOOLONG— File name too longerrno.ENOSYS— Function not implementederrno.ENOTEMPTY— Directory not emptyerrno.ELOOP— Too many symbolic links encounterederrno.EILSEQ— Illegal byte sequenceerrno.ENOTSOCK— Socket operation on non-socketerrno.EMSGSIZE— Message too longerrno.EPROTOTYPE— Protocol wrong type for socketerrno.EADDRINUSE— Address already in useerrno.ENETDOWN/errno.ENETUNREACH— 네트워크 다운 / 네트워크 도달 불가errno.ENOBUFS— No buffer space availableerrno.EISCONN/errno.ENOTCONN— 이미 연결됨 / 연결 안 됨errno.EHOSTDOWN/errno.EHOSTUNREACH— 호스트 다운 / 호스트로 경로 없음errno.EDQUOT— Quota exceeded
버전에서 추가된 것: ENOTSUP(3.2), EQFULL(3.11), EHWPOISON(3.14), 그리고 여러 BSD 관련 심볼들(EAUTH, EBADARCH, ENOATTR, ECANCELED, EOWNERDEAD, ENOTRECOVERABLE 등)이 3.2에서 추가되었습니다.