删除文件间歇性失败

时间:2017-03-14 17:51:47

标签: python

我正在使用Python 3.6开发Windows 7 64位,

我正在尝试从互联网上的不同位置下载一系列文件。完成下载的文件后,我将其删除并下载下一个文件。我正在使用urllib.request.urlretrieve()进行下载,这似乎工作正常。

每隔一段时间(可能是50次中的1次或100次尝试)我无法删除我下载的文件。我收到错误,“访问被拒绝。”异常之后,如果我导航到我试图在Windows资源管理器中删除的文件,它就在那里,并且没有与之关联的任何受限制的权限。

有谁能让我对如何使这项工作有所了解?

以下是相关代码:

    if os.path.isfile(filePath):

        try:

            os.remove(filePath)

        except OSError as e:

            print("Failed with:", e.strerror)
            print("Error code:", e.code)
            print("Can't remove file: ", filePath)
            write_to_log("Can't remove file: ", filePath)

编辑:

在回复评论时,我正在使用上述方法下载。

在我尝试删除文件之前,我至少打开,阅读并修改了一次文件,因此我怀疑Windows可能认为它仍处于打开状态。

我想我现在的问题是,如何查看该文件是否可以删除?如果Windows仍然坚持下去,我还有什么办法可以等待吗?

再次编辑:

我在我的Ubuntu Linux机器上尝试了这个(当然有不同的路径),它似乎运行正常,所以它绝对是一个Windows问题。

0 个答案:

没有答案