16.15. errno — 标准 errno 系统符号
本模块提供标准的 errno
系统符号。每个符号的值是其对应的整数值。符号的名称和描述来自 linux/include/errno.h
,应该是非常全面的。
errno.errorcode
提供从 errno 值到底层系统中字符串名称的映射的字典。例如, errno.errorcode[errno.EPERM]
映射为 'EPERM'
。
如果要将数字的错误代码转换为错误信息,请使用 os.strerror()。
在下面的列表中,当前平台上没有使用的符号没有被本模块定义。 已定义的符号的具体列表可参见 errno.errorcode.keys()
。 可用的符号包括:
errno.EPERM
操作不被允许
errno.ENOENT
无此文件或目录
errno.ESRCH
无此进程
errno.EINTR
系统调用中断。
参见
此错误被映射到异常 InterruptedError。
errno.EIO
I/O 错误
errno.ENXIO
无此设备或地址
errno.E2BIG
参数列表过长
errno.ENOEXEC
执行格式错误
errno.EBADF
错误的文件号
errno.ECHILD
无子进程
errno.EAGAIN
重试
errno.ENOMEM
内存不足
errno.EACCES
没有权限
errno.EFAULT
错误的地址
errno.ENOTBLK
需要块设备
errno.EBUSY
设备或资源忙
errno.EEXIST
文件已存在
errno.EXDEV
跨设备链接
errno.ENODEV
无此设备
errno.ENOTDIR
不是目录
errno.EISDIR
是目录
errno.EINVAL
无效的参数
errno.ENFILE
文件表溢出
errno.EMFILE
打开的文件过多
errno.ENOTTY
不是打字机
errno.ETXTBSY
文本文件忙
errno.EFBIG
文件过大
errno.ENOSPC
设备已无可用空间
errno.ESPIPE
非法查找
errno.EROFS
只读文件系统
errno.EMLINK
链接过多
errno.EPIPE
管道已损坏
errno.EDOM
数学参数超出函数范围
errno.ERANGE
数学运算结果无法表示
errno.EDEADLK
将发生资源死锁
errno.ENAMETOOLONG
文件名过长
errno.ENOLCK
没有可用的记录锁
errno.ENOSYS
功能未实现
errno.ENOTEMPTY
目录非空
errno.ELOOP
遇到过多的符号链接
errno.EWOULDBLOCK
操作将阻塞
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.EPFNOSUPPORT
协议族不受支持
errno.EAFNOSUPPORT
地址族不受协议支持
errno.EADDRINUSE
地址已被使用
errno.EADDRNOTAVAIL
无法分配要求的地址
errno.ENETDOWN
网络已断开
errno.ENETUNREACH
网络不可达
errno.ENETRESET
网络因重置而断开连接
errno.ECONNABORTED
软件导致连接中止
errno.ECONNRESET
连接被对方重置
errno.ENOBUFS
没有可用的缓冲区空间
errno.EISCONN
传输端点已连接
errno.ENOTCONN
传输端点未连接
errno.ESHUTDOWN
传输端点关闭后无法发送
errno.ETOOMANYREFS
引用过多:无法拼接
errno.ETIMEDOUT
连接超时
errno.ECONNREFUSED
连接被拒
errno.EHOSTDOWN
主机已关闭
errno.EHOSTUNREACH
没有到主机的路由
errno.EALREADY
操作已在进行
errno.EINPROGRESS
操作正在进行
errno.ESTALE
过期的 NFS 文件句柄
errno.EUCLEAN
结构需要清理
errno.ENOTNAM
不是 XENIX 命名类型文件
errno.ENAVAIL
没有可用的 XENIX 信标
errno.EISNAM
是命名类型文件
errno.EREMOTEIO
远程 I/O 错误
errno.EDQUOT
超出配额