# `errno` --- 标准 errno 系统符号

该模块提供了标准的 `errno` 系统符号。每个符号的值都是相应的整数值。名称和描述借用自 `linux/include/errno.h` ，它应该是全包含的。

errno.errorcode

  提供从 errno 值到底层系统中字符串名称的映射的字典。例如， `errno.errorcode[errno.EPERM]` 映射为 `'EPERM'` 。

如果要将数字的错误代码转换为错误信息，请使用 `os.strerror()`。

在下面的列表中，当前平台上没有使用的符号没有被本模块定义。 已定义的符号的具体列表可参见 `errno.errorcode.keys()`。 可用的符号包括：

errno.EPERM

  操作不允许。这个错误被映射到异常 `PermissionError` 。

errno.ENOENT

  没有这样的文件或目录。这个错误被映射到异常 `FileNotFoundError` 。

errno.ESRCH

  没有这样的进程。这个错误被映射到异常 `ProcessLookupError` 。

errno.EINTR

  系统调用中断。这个错误被映射到异常 `InterruptedError` 。

errno.EIO

  I/O 错误

errno.ENXIO

  无此设备或地址

errno.E2BIG

  参数列表过长

errno.ENOEXEC

  执行格式错误

errno.EBADF

  错误的文件号

errno.ECHILD

  没有子进程。这个错误被映射到异常 `ChildProcessError` 。

errno.EAGAIN

  再试一次。这个错误被映射到异常 `BlockingIOError` 。

errno.ENOMEM

  内存不足

errno.EACCES

  权限被拒绝。 这个错误被映射到异常 `PermissionError` 。

errno.EFAULT

  错误的地址

errno.ENOTBLK

  需要块设备

errno.EBUSY

  设备或资源忙

errno.EEXIST

  文件存在。这个错误被映射到异常 `FileExistsError` 。

errno.EXDEV

  跨设备链接

errno.ENODEV

  无此设备

errno.ENOTDIR

  不是一个目录。这个错误被映射到异常 `NotADirectoryError` 。

errno.EISDIR

  是一个目录。这个错误被映射到异常 `IsADirectoryError` 。

errno.EINVAL

  无效的参数

errno.ENFILE

  文件表溢出

errno.EMFILE

  打开的文件过多

errno.ENOTTY

  不是打字机

errno.ETXTBSY

  文本文件忙

errno.EFBIG

  文件过大

errno.ENOSPC

  设备已无可用空间

errno.ESPIPE

  非法查找

errno.EROFS

  只读文件系统

errno.EMLINK

  链接过多

errno.EPIPE

  管道中断。这个错误被映射到异常 `BrokenPipeError` 。

errno.EDOM

  数学参数超出函数范围

errno.ERANGE

  数学运算结果无法表示

errno.EDEADLK

  将发生资源死锁

errno.ENAMETOOLONG

  文件名过长

errno.ENOLCK

  没有可用的记录锁

errno.ENOSYS

  功能未实现

errno.ENOTEMPTY

  目录非空

errno.ELOOP

  遇到过多的符号链接

errno.EWOULDBLOCK

  操作会阻塞。这个错误被映射到异常 `BlockingIOError` 。

errno.ENOMSG

  没有所需类型的消息

errno.EIDRM

  标识符被移除

errno.ECHRNG

  信道编号超出范围

errno.EL2NSYNC

  级别 2 未同步

errno.EL3HLT

  级别 3 已停止

errno.EL3RST

  级别 3 重置

errno.ELNRNG

  链接编号超出范围

errno.EUNATCH

  未附加协议驱动

errno.ENOCSI

  没有可用的 CSI 结构

errno.EL2HLT

  级别 2 已停止

errno.EBADE

  无效的交换

errno.EBADR

  无效的请求描述符

errno.EXFULL

  交换已满

errno.ENOANO

  没有阳极

errno.EBADRQC

  无效的请求码·

errno.EBADSLT

  无效的槽位

errno.EDEADLOCK

  文件锁定死锁错误

errno.EBFONT

  错误的字体文件格式

errno.ENOSTR

  设备不是流

errno.ENODATA

  没有可用的数据

errno.ETIME

  计时器已到期

errno.ENOSR

  流资源不足

errno.ENONET

  机器不在网络上

errno.ENOPKG

  包未安装

errno.EREMOTE

  对象是远程的

errno.ENOLINK

  链接已被切断

errno.EADV

  广告错误

errno.ESRMNT

  挂载错误

errno.ECOMM

  发送时通讯错误

errno.EPROTO

  协议错误

errno.EMULTIHOP

  已尝试多跳

errno.EDOTDOT

  RFS 专属错误

errno.EBADMSG

  非数据消息

errno.EOVERFLOW

  值相对于已定义数据类型过大

errno.ENOTUNIQ

  名称在网络上不唯一

errno.EBADFD

  文件描述符处于错误状态

errno.EREMCHG

  远端地址已改变

errno.ELIBACC

  无法访问所需的共享库

errno.ELIBBAD

  访问已损坏的共享库

errno.ELIBSCN

  a.out 中的 .lib 部分已损坏

errno.ELIBMAX

  尝试链接过多的共享库

errno.ELIBEXEC

  无法直接执行共享库

errno.EILSEQ

  非法字节序列

errno.ERESTART

  已中断系统调用需要重启

errno.ESTRPIPE

  流管道错误

errno.EUSERS

  用户过多

errno.ENOTSOCK

  在非套接字上执行套接字操作

errno.EDESTADDRREQ

  需要目标地址

errno.EMSGSIZE

  消息过长

errno.EPROTOTYPE

  套接字的协议类型错误

errno.ENOPROTOOPT

  协议不可用

errno.EPROTONOSUPPORT

  协议不受支持

errno.ESOCKTNOSUPPORT

  套接字类型不受支持

errno.EOPNOTSUPP

  操作在传输端点上不受支持

errno.ENOTSUP

  操作不受支持

  Added in version 3.2.

errno.EPFNOSUPPORT

  协议族不受支持

errno.EAFNOSUPPORT

  地址族不受协议支持

errno.EADDRINUSE

  地址已被使用

errno.EADDRNOTAVAIL

  无法分配要求的地址

errno.ENETDOWN

  网络已断开

errno.ENETUNREACH

  网络不可达

errno.ENETRESET

  网络因重置而断开连接

errno.ECONNABORTED

  软件导致连接中止。这个错误被映射到异常 `ConnectionAbortedError` 。

errno.ECONNRESET

  连接被对方重置。这个错误被映射到异常 `ConnectionResetError` 。

errno.ENOBUFS

  没有可用的缓冲区空间

errno.EISCONN

  传输端点已连接

errno.ENOTCONN

  传输端点未连接

errno.ESHUTDOWN

  在传输端点关闭后无法发送。这个错误被映射到异常 `BrokenPipeError` 。

errno.ETOOMANYREFS

  引用过多：无法拼接

errno.ETIMEDOUT

  连接超时。这个错误被映射到异常 `TimeoutError` 。

errno.ECONNREFUSED

  连接被拒绝。这个错误被映射到异常 `ConnectionRefusedError` 。

errno.EHOSTDOWN

  主机已关闭

errno.EHOSTUNREACH

  没有到主机的路由

errno.EHWPOISON

  内存页存在硬件错误。

  Added in version 3.14.

errno.EALREADY

  操作已经在进行中。这个错误被映射到异常 `BlockingIOError` 。

errno.EINPROGRESS

  操作现在正在进行中。这个错误被映射到异常 `BlockingIOError` 。

errno.ESTALE

  过期的 NFS 文件句柄

errno.EUCLEAN

  结构需要清理

errno.ENOTNAM

  不是 XENIX 命名类型文件

errno.ENAVAIL

  没有可用的 XENIX 信标

errno.EISNAM

  是命名类型文件

errno.EREMOTEIO

  远程 I/O 错误

errno.EDQUOT

  超出配额

errno.EQFULL

  接口输出队列已满

  Added in version 3.11.

errno.ENOMEDIUM

  未找到媒介

errno.EMEDIUMTYPE

  错误的媒介类型

errno.ENOKEY

  需要的密钥不可用

errno.EKEYEXPIRED

  密钥已到期

errno.EKEYREVOKED

  密钥已被撤销

errno.EKEYREJECTED

  密钥被服务拒绝

errno.ERFKILL

  操作因 RF-kill 而无法执行

errno.ELOCKUNMAPPED

  锁定的锁未被映射

errno.ENOTACTIVE

  功能未被激活

errno.EAUTH

  认证错误

  Added in version 3.2.

errno.EBADARCH

  可执行文件中有错误的 CPU 类型

  Added in version 3.2.

errno.EBADEXEC

  错误的可执行文件（或共享库）

  Added in version 3.2.

errno.EBADMACHO

  畸形的 Mach-o 文件

  Added in version 3.2.

errno.EDEVERR

  设备错误

  Added in version 3.2.

errno.EFTYPE

  不正确的文件类型或格式

  Added in version 3.2.

errno.ENEEDAUTH

  需要认证

  Added in version 3.2.

errno.ENOATTR

  属性未找到

  Added in version 3.2.

errno.ENOPOLICY

  策略未找到

  Added in version 3.2.

errno.EPROCLIM

  进程过多

  Added in version 3.2.

errno.EPROCUNAVAIL

  错误的程序步骤

  Added in version 3.2.

errno.EPROGMISMATCH

  程序版本错误

  Added in version 3.2.

errno.EPROGUNAVAIL

  RPC 程序不可用

  Added in version 3.2.

errno.EPWROFF

  设备电源关闭

  Added in version 3.2.

errno.EBADRPC

  RPC 结构错误

  Added in version 3.2.

errno.ERPCMISMATCH

  RPC 版本错误

  Added in version 3.2.

errno.ESHLIBVERS

  共享库版本不匹配

  Added in version 3.2.

errno.ENOTCAPABLE

  功能不足。 此错误被映射到异常 `PermissionError`。

  Availability: WASI, FreeBSD

  Added in version 3.11.1.

errno.ECANCELED

  操作已被取消

  Added in version 3.2.

errno.EOWNERDEAD

  所有者已不存在

  Added in version 3.2.

errno.ENOTRECOVERABLE

  状态无法恢复

  Added in version 3.2.