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!
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
Komentar yang paling membantu
@edschofield Apakah ini akan segera dirilis? Haruskah saya menutup masalah ini? Terima kasih!