Python 3 errnoモジュール

4016 ワード

errnoモジュール
  • このモジュールは、各シンボルの値が整数値に対応する標準errnoシステムシンボルを提供する.
  • 辞書errno.errorcodeは、デジタルコードとシステムシンボル名のマッピングである.たとえば、errno.errorcode[2]は文字列ENOENTを返します.
  • エラー・コードをエラー・メッセージにマッピングするには、os.strerror()関数を使用します.たとえば、os.strerror(errno.ENOENT)は「No such file or directory」を返します.

  • 次のエラー・コードの一部に対応するエラー・メッセージ
    errno.EPERM     (1)
    errno.ENOENT         (2)  
    errno.ESRCH     (3)  
    errno.EINTR        (4)  
    errno.EIO I/O   (5)  
    errno.ENXIO        (6)  
    errno.E2BIG       (7)  
    errno.ENOEXEC Exec     (8)
    errno.EBADF       (9)
    errno.ECHILD      (10)
    errno.EAGAIN   (11)
    errno.ENOMEM     (Out of memory)(12)
    errno.EACCES       (13)    
    errno.EFAULT     (14)  
    errno.ENOTBLK      (15)
    errno.EBUSY        (16)
    errno.EEXIST      (17)
    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     

    使用例
    try:
        os.makedirs("/root/hello/world/")
    except OSError as err:
        if err.errno != errno.EEXIST:
            raise Exception("Unknown error.")

    参照先:https://www.cnblogs.com/madsnotes/articles/5688008.html
    転載先:https://www.cnblogs.com/Oliver-yzx/p/11310829.html