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.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.