更正除了:在python中传递警告 - 可能会打开哪些异常并且os.remove会引发?

时间:2015-11-11 12:36:48

标签: python python-2.7 error-handling exception-handling file-handling

在下面的代码中,some_path是一个与路径对应的字符串(可能是相对路径)

def editable(some_path):
    """Safely check whether a file is editable."""
    delete = not os.path.exists(some_path)
    try:
        with open(some_path, 'ab'):
            return True
    except:
        return False
    finally:
        # If the file didn't exist before, remove the created version
        if delete:
            try:
                os.remove(some_path)
            except:
                pass

open's docs中我们读到了:

  

如果无法打开文件,则会引发IOError

IOError是唯一可能出现的错误(想到UnicodeError,还是OSError等)?

os.remove docs更加模糊:

  

如果path是目录,则引发OSError

那么如果文件正在使用,或受到保护或......

更新shutil.move怎么样?这似乎又引发了另一个shutil.Error(StandardError) - 如果我正确读到the source

0 个答案:

没有答案