如何使用Python克隆文件?

问题描述 投票:0回答:2

在macos上使用bash我可以使用cp -c创建COW文件克隆。是否有提供相同功能的Python库? shutil中的复制功能似乎没有提到克隆。

在APFS克隆:https://developer.apple.com/library/content/documentation/FileManagement/Conceptual/APFS_Guide/Features/Features.html

在BSD clonefile上:http://www.manpagez.com/man/2/clonefile/

python macos filesystems apfs
2个回答
0
投票

Python标准库不支持克隆文件。

要在子进程中使用cp -c克隆文件,可以使用此函数:

def clonefile(source, dest):
    subprocess.check_output(["cp", "-c", source, dest])

-1
投票

好吧,我把它标记为重复,但不知道复制和克隆之间的区别。

这是在Python中尽可能详细地复制文件的指令的位置:https://docs.python.org/3.6/library/shutil.html

它从以下警告开始:警告即使是更高级别的文件复制功能(shutil.copy(),shutil.copy2())也无法复制所有文件元数据。

如果你想要的是文件的操作系统克隆,你将需要运行系统调用。该系统调用将需要特定于操作系统,并且将从此问题中调用该调用:Calling an external command in Python

因此,查看副本库,看看是否可以获得足够的详细信息,以及是否无法使用系统特定的调用。

© www.soinside.com 2019 - 2024. All rights reserved.