Python模块之errno
errno模块
该模块实现标准的 errno 系统符号,每一个对应于一个整数,名称和描述借鉴了 linux/include/errno.h
errno.errorcode
包含从 errno 到底层系统中错误名称的映射的字典,例如:errno.errorcode[errno.EPERM] 映射为 'EPERM'。要将一个数值型的错误码转化为一个错误消息名,使用os.strerror().
import os import errno errno = errno.E2BIG print(os.strerror(errno)) # 结果 Arg list too long
下面所列的 errno 可用于 errno.errorcode.keys():
errno.EPERM (值:(int)1)无权操作 errno.ENOENT 没有该文件或目录(2) errno.ESRCH 无此进程(3) errno.EINTR 系统调用被打断(4) errno.EIO I/O 错误(5) errno.ENXIO 无此设备或地址(6) errno.E2BIG 参数列表过长(7) errno.ENOEXEC Exec 格式错误 errno.EBADF 文件个数出错 errno.ECHILD 没有子进程(10) errno.EAGAIN 重试(11) errno.ENOMEM 内存不足(Out of memory)( errno.EACCES 访问权限不足(13) errno.EFAULT 地址错误(14) errno.ENOTBLK 需要块设备 errno.EBUSY 设备或资源正忙 errno.EEXIST 文件已存在 errno.EXDEV 跨设备符号(Cross-device link) errno.ENODEV 没有这个设备 errno.ENOTDIR 不是一个目录 errno.EISDIR 这是一个目录 errno.EINVAL 参数无效 errno.ENFILE 文件表溢出 errno.EMFILE 打开文件过多 errno.ENOTTY 与文件描述符关联的不是终端 errno.ETXTBSY 文本文件正忙 errno.EFBIG 文件过大 errno.ENOSPC 设备空间不足 errno.ESPIPE Illegal seek 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 Channel 数越界 errno.EL2NSYNC Level 2 未同步 errno.EL3HLT Level 3 停止 errno.EL3RST Level 3 重置 errno.ELNRNG Link 数越界 errno.EUNATCH Protocol driver not attached errno.ENOCSI 没有CSI 结构可用 errno.EL2HLT Level 2 中止 errno.EBADE 无效的 exchange errno.EBADR 无效的请求标识符 errno.EXFULL exchange 已满 errno.ENOANO No anode errno.EBADRQC 无效请求码 errno.EBADSLT 无效 slot errno.EDEADLOCK File locking deadlock error errno.EBFONT 字体文件格式不合法 errno.ENOSTR 非流设备 errno.ENODATA 无可用数据 errno.ETIME 定时器过期 errno.ENOSR 无可用流资源 errno.ENONET 机器不在网络上 errno.ENOPKG 包未安装 errno.EREMOTE 远程对象 errno.ENOLINK Link has been severed errno.EADV 广播错误 errno.ESRMNT Srmount error errno.ECOMM Communication error on send errno.EPROTO 协议错误 errno.EMULTIHOP 尝试进行多跳(Multihop) errno.EDOTDOT RFS specific error 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 流管道错误Streams pipe error errno.EUSERS 用户过多 errno.ENOTSOCK 在非套接字上进行套接字操作 errno.EDESTADDRREQ 需要目的地地址 errno.EMSGSIZE 消息过长 errno.EPROTOTYPE Protocol wrong type for socket errno.ENOPROTOOPT 协议不可用 errno.EPROTONOSUPPORT 协议不支持 errno.ESOCKTNOSUPPORT 套接字类型不支持 errno.EOPNOTSUPP Operation not supported on transport endpoint errno.EPFNOSUPPORT 协议族不支持 errno.EAFNOSUPPORT 协议不支持地址族 errno.EADDRINUSE 地址正在使用中 errno.EADDRNOTAVAIL 无法指定请求的地址 errno.ENETDOWN 网络已宕 errno.ENETUNREACH 网络不可达 errno.ENETRESET Network dropped connection because of reset errno.ECONNABORTED 软件造成的连接中止 errno.ECONNRESET 连接由 peer 重置 errno.ENOBUFS无可用缓冲空间 errno.EISCONN Transport endpoint is already connected errno.ENOTCONN Transport endpoint is not connected errno.ESHUTDOWN Cannot send after transport endpoint shutdown errno.ETOOMANYREFS 引用过多: cannot splice errno.ETIMEDOUT 连接超时 errno.ECONNREFUSED 拒绝连接 errno.EHOSTDOWN 主机宕机 errno.EHOSTUNREACH 没有到达主机的路由 errno.EALREADY 操作已经进行 errno.EINPROGRESS 操作现在进行 errno.ESTALE Stale NFS file handle errno.EUCLEAN 结构体需要清洗 errno.ENOTNAM 不是一个 XENIX具名文件 errno.ENAVAIL 没有 XENIX 信号量可用 errno.EISNAM 是一个具名文件 errno.EREMOTEIO 远程 I/O 错误 errno.EDQUOT 超过限额
出处:http://www.cnblogs.com/madsnotes/
声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。