0

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

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

在 BSD 克隆文件上:http: //www.manpagez.com/man/2/clonefile/

4

2 回答 2

0

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

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

def clonefile(source, dest):
    subprocess.check_output(["cp", "-c", source, dest])
于 2017-12-22T18:34:14.297 回答
-1

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

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

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

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

因此,请查看复制库,看看您是否可以获得足够的详细信息,以及是否不能使用特定于系统的调用。

于 2017-12-22T18:07:18.827 回答