我得到WindowsError: [Error 32] The process cannot access the file because it is being used by another process except块中的WindowsError: [Error 32] The process cannot access the file because it is being used by another process 。 这怎么可能发生?
try: shutil.move(os.path.join(folder,name),folder) except shutil.Error: # Handling Error: Destination already exists unique_name = "%s_%s" %(name,time.time()) shutil.move(os.path.join(folder,os.path.join(folder,unique_name))
假设我可以在Windows中处理像这样的exception(我希望第一个shutil.move不会locking文件或任何有exception的东西),是不是像shutil.Error是在try块中引发的,因为文件已经是否存在,它进入了除了它试图移动它与新的文件名只发现它被其他进程使用的块吗?
如果我要将shutil.move操作写成Python线程,是否有两个线程试图做同样的事情的可能性? 或者这不会发生,因为有一个GIL锁迫使顺序执行?
在Windows中,一般来说,我可以同时打开两个文件进行写入吗?
Python脚本,代理和Microsoft Forefront – 自动身份validation
Visual C#(Visual Studio)和Mono C#GUI之间的区别
告诉窗口哪个监视器显示对话框
自己的窗体边框样式
如何在Anaconda Python(Windows平台)中安装xgboost?
GetCurrentDirectory缓冲区不会返回正确的值
Intellij和sbt 0.13.5“URI有一个权限组件”
Windows – 迫使一个进程/表单在另一个进程的范围内显示
带有docker报告的Windows容器HNS失败,出现错误:无法打开该文件,因为它正在被删除
在Windows中使用MIdistream的问题
或者这不会发生,因为有一个GIL锁定是按顺序发生的?
即使这些线程是按顺序发生的,但并不意味着它们正在放弃它们的文件处理程序,这意味着当使用它的线程不活动时,该文件仍然被锁定。
是否就像shutil.Error发生在try块,因为该文件已经存在
如果你的shutil.move失败了,那就意味着问题是读源文件,而不是写入目标文件。 还有另一个进程(或者在你自己的Python进程中可能更早?),它已经打开了文件,并没有取消对文件的读锁定。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。