我正在使用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问题。