大多数pythonic的方式来删除可能不存在的文件

问题:

我想删除文件filename(如果存在)。说得好吗

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

有没有更好的办法?单行方式?

回答:

一个更加幽默的方式是:

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

尽管这需要更多的线条,并且看起来非常难看,但它避免了对os.path.exists()的不必要的调用,并且遵循了超时使用异常的python约定。
写一个函数可能是值得的:

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 occurred

 
 Code问答: codewenda.com
Stackoverflow:Most pythonic way to delete a file which may not exist

发表评论

电子邮件地址不会被公开。 必填项已用*标注

47 − = 46