为什么 shutil.copy 和 shutil.copy2 创建隐藏的锁文件

why shutil.copy and shutil.copy2 create hidden lock files

我需要从另一个目录中的目录复制某些文件(满足某些条件),但我有一个问题,每次我使用 shutil.copyshutil.copy2 将文件复制到文件夹中它为我创建了 .~lock 文件,因此我无法在此文件夹上执行其他功能

我将特定文件从一个文件夹复制到另一个文件夹的功能:

def copy_files(path):
    path_input = "%input//" % path
    path_output="%output//" % path
    for i in os.listdir(path_input):
        f=os.path.join(path, i)
        if f.endswith("t.house.csv"):
            shutil.copy(f, path_output) #or shutil.copy2(f, path_output)

所以我的问题是:为什么会发生这种情况以及如何避免创建 ~lock 文件?如果我无法避免,我可以用哪些方法摆脱它们?

如果我复制的其中一个文件打开,它会在目标文件夹中创建相应的 ~lock 文件!所以,也许这不是修复此错误的最佳和最聪明的方法,但通过确保没有打开的文件,我可以避免创建 ~lock 个文件