2009-06-12 15 views
7

Perché il modulo os di Python contiene error, an alias for OSError?Qual è il punto di os.error?

C'è un motivo per scrivere mai lo os.error? OSError sembra certamente più coerente con tutte le altre eccezioni built-in.

Speravo che os.py facesse un po 'di luce, ma a volte usa error e OSError.

Sembra buffo avere un nome extra per una delle eccezioni, eppure sopravvive in Python 3.0. Cosa mi manca?

risposta

6

La documentazione per OSError indica che è stata aggiunta nella versione 1.5.2. La mia ipotesi è che il valore di error preceda un po 'questo e nel tentativo di rimanere retrocompatibile con il codice scritto per Python prima di 1.5.2 error è stato creato un alias per OSError.

+10

Sì. E - abbiamo trascurato questo dettaglio nel passaggio a Python 3, quindi os.error è _still_ anche in 3.1 (oops - probabilmente troppo tardi per sistemare adesso ... scusa!). –