Python-future: Un support pour FileNotFoundError ?

Créé le 3 déc. 2016  ·  5Commentaires  ·  Source: PythonCharmers/python-future

En Python 3.3+, nous pouvons gérer facilement les fichiers manquants :

try:
    open('unobtanium')
except FileNotFoundError:
    ...

Dans Python 2, il y a un peu plus de chants et de danses :

try:
    open('unobtanium')
except IOError as err:
    if err.errno != errno.ENOENT:
        raise

Cette bibliothèque nous permet-elle d'écrire la gestion plus simple des fichiers de style Python 3 en Python 2, d'une manière ou d'une autre ? Sinon, est-il prévu d'intégrer FileNotFoundError dans python-future, ou est-ce trop difficile à mettre en œuvre ?

Merci!

Commentaire le plus utile

@edschofield Est-ce que cela va bientôt sortir ? Dois-je clore ce sujet ? Merci!

Tous les 5 commentaires

Merci pour la demande, Wim. Cela semble être une bonne fonctionnalité à avoir.

Êtes-vous en mesure de contribuer à un patch qui définit FileNotFoundError dans src/future/builtins/__init__.py ? Cela accélérerait le processus de prise en charge. :-)

J'ai commis un correctif dans une nouvelle branche de développement appelée exceptions . Vous pouvez utiliser les nouvelles exceptions PEP3151 avec un code comme celui-ci :

from builtins import FileNotFoundError

en haut des modules qui invoquent ces exceptions.

Pourriez-vous s'il vous plaît essayer la nouvelle branche et nous dire si cela fonctionne bien pour vous ?

Salut Ed, oui, j'ai essayé et ça a l'air de bien fonctionner:

>>> import sys; sys.version
'2.7.12 (default, Jun 29 2016, 14:05:02) \n[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)]'
>>> from builtins import FileNotFoundError
>>> try:
...     open('unobtanium')
... except FileNotFoundError as err:
...     pass
... 
>>> err
IOError(2, 'No such file or directory')
>>> issubclass(FileNotFoundError, OSError)
True

@edschofield Est-ce que cela va bientôt sortir ? Dois-je clore ce sujet ? Merci!

Je crois que cela est inclus dans 0.17

Cette page vous a été utile?
0 / 5 - 0 notes