27 Mart 2012, Salı
Eğer içinde geri dönersem bir blok ile dosyayı kapatmak için garanti edilir?
Aşağıdaki kodu alın
with open(path, mode) as f:
return [line for line in f if condition]
Dosyayı düzgün bir şekilde kapatılacak veya iade bir şekilde içerik yöneticisi bypass mı geliyor?
(Python 2.7)
CEVAP
27 Mart 2012, Salı
Evet, try
bir blok sonra finally
blok gibi hareket eder, yani her zaman yürütür python işleme tabii alışılmadık bir şekilde sona erer sürece).
Ayrıca with
deyimi: şartname PEP-343 örneklerinden biri olarak söz edilmektedir
with locked(myLock):
# Code here executes with myLock held. The lock is
# guaranteed to be released when the block is left (even
# if via return or by an uncaught exception).
Kayda değer bir şey olduğunu ancak, kolayca yakalamak istisnalar tarafından atılan open()
ara vermeden bütün with
blok içinde try..except
blok hangi genellikle ne istiyor.
Bunu Paylaş:
Reset veya özel sürüm kullanmaya Gah i...
Raylar Geçiş bir dosyayı geri almak iç...
Nasıl geri tuşu ile UİTextView için kl...
Nasıl kaydırma hareketi geri devre dış...
Visual Studio IDE içinde Boşluk Karakt...