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¶
Srmount 错误
- 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¶
不支持的操作
在 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¶
内存页面有硬件错误。
在 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¶
接口输出队列已满
在 3.11 版本中新增。
- errno.ENOMEDIUM¶
找不到介质
- errno.EMEDIUMTYPE¶
错误的介质类型
- errno.ENOKEY¶
所需密钥不可用
- errno.EKEYEXPIRED¶
密钥已过期
- errno.EKEYREVOKED¶
密钥已被撤销
- errno.EKEYREJECTED¶
密钥被服务拒绝
- errno.ERFKILL¶
由于 RF-kill,操作不可能
- errno.ELOCKUNMAPPED¶
锁定的锁已被取消映射
- errno.ENOTACTIVE¶
设施未激活
- errno.EAUTH¶
身份验证错误
在 3.2 版本加入。
- errno.EBADARCH¶
可执行文件中的 CPU 类型错误
在 3.2 版本加入。
- errno.EBADEXEC¶
错误的可执行文件(或共享库)
在 3.2 版本加入。
- errno.EBADMACHO¶
格式错误的 Mach-o 文件
在 3.2 版本加入。
- errno.EDEVERR¶
设备错误
在 3.2 版本加入。
- errno.EFTYPE¶
不适当的文件类型或格式
在 3.2 版本加入。
- errno.ENEEDAUTH¶
需要身份验证器
在 3.2 版本加入。
- errno.ENOATTR¶
找不到属性
在 3.2 版本加入。
- errno.ENOPOLICY¶
找不到策略
在 3.2 版本加入。
- errno.EPROCLIM¶
进程过多
在 3.2 版本加入。
- errno.EPROCUNAVAIL¶
程序的错误过程
在 3.2 版本加入。
- errno.EPROGMISMATCH¶
程序版本错误
在 3.2 版本加入。
- errno.EPROGUNAVAIL¶
RPC 程序不可用
在 3.2 版本加入。
- errno.EPWROFF¶
设备电源已关闭
在 3.2 版本加入。
- errno.EBADRPC¶
RPC 结构错误
在 3.2 版本加入。
- errno.ERPCMISMATCH¶
RPC 版本错误
在 3.2 版本加入。
- errno.ESHLIBVERS¶
共享库版本不匹配
在 3.2 版本加入。
- errno.ENOTCAPABLE¶
能力不足。此错误被映射到异常
PermissionError
。可用性:WASI, FreeBSD
在 3.11.1 版本加入。
- errno.ECANCELED¶
操作已取消
在 3.2 版本加入。
- errno.EOWNERDEAD¶
所有者已死亡
在 3.2 版本加入。
- errno.ENOTRECOVERABLE¶
状态不可恢复
在 3.2 版本加入。