Python-future: أي دعم لـ FileNotFoundError؟

تم إنشاؤها على ٣ ديسمبر ٢٠١٦  ·  5تعليقات  ·  مصدر: PythonCharmers/python-future

في Python 3.3+ ، يمكننا التعامل مع الملفات المفقودة بسهولة:

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

في Python 2 ، هناك المزيد من الأغاني والرقص:

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

هل تسمح لنا هذه المكتبة بكتابة معالجة الملفات بأسلوب Python 3 الأبسط في Python 2 ، بطريقة أو بأخرى؟ إذا لم يكن الأمر كذلك ، فهل هناك أي خطط للحصول على FileNotFoundError في Python-Future ، أم أنه من الصعب جدًا تنفيذها؟

شكرا!

التعليق الأكثر فائدة

edschofield هل هذه

ال 5 كومينتر

شكرا على الطلب ، ويم. هذا يبدو وكأنه ميزة جيدة.

هل أنت قادر على المساهمة في التصحيح الذي يحدد FileNotFoundError في src/future/builtins/__init__.py ؟ سيؤدي ذلك إلى تسريع عملية الحصول على الدعم. :-)

لقد خصصت تصحيحًا لفرع تطوير جديد يسمى exceptions . يمكنك استخدام استثناءات PEP3151 الجديدة برمز مثل هذا:

from builtins import FileNotFoundError

في الجزء العلوي من الوحدات النمطية التي تستدعي تلك الاستثناءات.

هل يمكنك من فضلك تجربة الفرع الجديد والإبلاغ عن مدى نجاح هذا الأمر بالنسبة لك؟

مرحبًا إد ، نعم ، لقد جربته ويبدو أنه يعمل بشكل جيد:

>>> 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 هل هذه

أعتقد أن هذا مدرج في 0.17

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات