2

我可以通过以下方式创建硬链接:

import win32file
win32file.CreateHardLink(src, dst)

我需要做的是确定 2 个文件(src、dst)是否已经硬链接,如果没有,则删除 dst 并创建链接。

有谁知道如何做到这一点?

4

3 回答 3

1

使用 Win32 API 函数GetFileInformationByHandle。返回的结构中的nNumberOfLinks成员BY_HANDLE_FILE_INFORMATION包含链接的总数。值为 1 表示没有硬链接。

于 2012-11-28T10:36:40.370 回答
1

感谢 martineau 的指针,我找到了以下文章,它提供了一些工作 Python 代码,几乎完全符合我的要求:

http://timgolden.me.uk/python/win32_how_do_i/see_if_two_files_are_the_same_file.html

于 2012-11-28T11:10:15.457 回答
1

对于来自 Google 的用户:

在 Python 3 中,使用os.path.samefile.

这适用于 Windows 和 Unix。

于 2019-06-30T14:10:20.850 回答