SORU
31 Mayıs 2012, PERŞEMBE


En çok yolu var olmayan bir dosyayı silmek için pythonic

Eğer varsa dosya filename silmek istiyorum. Söylemek uygun olur

if os.path.exists(filename):
    os.remove(filename)

Daha iyi bir yolu var mı? Tek satırlık bir yolu?

CEVAP
31 Mayıs 2012, PERŞEMBE


Daha pythonic bir yol olacaktır:

try:
    os.remove(filename)
except OSError:
    pass

Bu bile daha fazla satır alır ve çok çirkin görünüyor, ancak os.path.exists() gereksiz çağrı önler ve fazla kullanmak özel durumlar python kuralı izler.

Sizin için bunu yapmak için bir işlevi yazmak için yararlı olabilir:

import os, errno

def silentremove(filename):
    try:
        os.remove(filename)
    except OSError as e: # this would be "except OSError, e:" before Python 2.6
        if e.errno != errno.ENOENT: # errno.ENOENT = no such file or directory
            raise # re-raise exception if a different error occured

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ElChakotay Andrich

    ElChakotay A

    10 EKİM 2013
  • Jonathan D.

    Jonathan D.

    3 Kasım 2006
  • TheSalband Rai

    TheSalband R

    11 NİSAN 2011