Python-future: Adakah dukungan untuk FileNotFoundError?

Dibuat pada 3 Des 2016  ·  5Komentar  ·  Sumber: PythonCharmers/python-future

Di Python 3.3+ kami dapat menangani file yang hilang dengan mudah:

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

Di Python 2 ada sedikit lebih banyak lagu dan tarian:

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

Apakah perpustakaan ini memungkinkan kita untuk menulis penanganan file gaya Python 3 yang lebih sederhana di Python 2, entah bagaimana? Jika tidak, apakah ada rencana untuk memasukkan FileNotFoundError ke python-future, atau terlalu sulit untuk diterapkan?

Terima kasih!

Komentar yang paling membantu

@edschofield Apakah ini akan segera dirilis? Haruskah saya menutup masalah ini? Terima kasih!

Semua 5 komentar

Terima kasih atas permintaannya, Wim. Ini terdengar seperti fitur yang bagus untuk dimiliki.

Apakah Anda dapat menyumbangkan tambalan yang mendefinisikan FileNotFoundError di src/future/builtins/__init__.py ? Ini akan mempercepat proses mendapatkan dukungan. :-)

Saya telah melakukan tambalan ke cabang pengembangan baru bernama exceptions . Anda dapat menggunakan pengecualian PEP3151 baru dengan kode seperti ini:

from builtins import FileNotFoundError

di bagian atas modul yang memanggil pengecualian tersebut.

Bisakah Anda mencoba cabang baru dan melaporkan kembali tentang seberapa baik ini bekerja untuk Anda?

Hai Ed, ya, saya mencobanya dan sepertinya berfungsi dengan baik:

>>> 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 Apakah ini akan segera dirilis? Haruskah saya menutup masalah ini? Terima kasih!

Saya percaya ini termasuk dalam 0.17

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

e-rk picture e-rk  ·  14Komentar

foreignmeloman picture foreignmeloman  ·  3Komentar

ankostis picture ankostis  ·  4Komentar

asottile picture asottile  ·  18Komentar

wagnerpeer picture wagnerpeer  ·  12Komentar