【问题标题】:Verifying that os.remove has worked验证 os.remove 是否有效
【发布时间】:2012-08-08 05:56:27
【问题描述】:

delete a file in Python,我正在使用os.remove

除了OSError之外,文档(链接)没有给出任何例外的迹象:

如果路径是目录,则引发 OSError

如何检查FileNotFoundPermissionToDeleteDenied 等异常?还是os.remove 函数没有完成此类错误检查(os.removeos.unlink 的文档似乎没有说)?

【问题讨论】:

    标签: python


    【解决方案1】:

    OSError 异常有一个errno 属性,您可以将其与errno 模块一起使用,以获取有关发生何种类型的操作系统错误的更多信息。见the documentation for OSError

    【讨论】:

    【解决方案2】:

    使用此代码:

    import os
    if(os.path.exists("c:/randomDirectory/random.txt"):
        # some random code
    

    如果 random.txt 存在,它会运行随机代码。

    【讨论】:

    • 这不会告诉我为什么我的os.remove 运行如果文件不属于当前用户,或者如果它是一个目录而不是文件,或者当前正在使用的文件,或者一堆其他可能的错误。
    • 它没有告诉权限被拒绝问题等。
    猜你喜欢
    • 2018-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多