嗯,几乎所有东西都是标题。我有一个dbf文件,我想复制它,即使它被DBU等其他程序锁定(编辑)。
如果我尝试打开它或使用shutil.copy进行复制,我会
>>> f = open('test.dbf', 'rb')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 13] Permission denied: 'test.dbf'
我知道它已锁定在Windows级别,因为我无法通过批量复制或使用Windows资源管理器复制它。但是有没有方法来复制这样的文件?
答案 0 :(得分:1)
一般情况下,你不能。即使您要绕过锁定机制,另一个进程可能正在写入文件,并且您将采取的快照可能处于不一致状态。
根据您的使用案例,Volume Shadow Copy可能具有相关性。
答案 1 :(得分:0)
Joakim Schicht 有一个工具可以复制任何锁定的文件。 唯一的问题是某些 AV 将其标记为恶意,而实际上并非如此。 根据您的用例,这可能是一个解决方案。