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!
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
Commentaire le plus utile
@edschofield Est-ce que cela va bientôt sortir ? Dois-je clore ce sujet ? Merci!