确定两个文件是否在Windows上硬链接?

时间:2012-11-28 09:55:22

标签: python windows

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

import win32file
win32file.CreateHardLink(src, dst)

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

有谁知道怎么做?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

感谢martineau的指针,我发现下面的文章提供了一些有用的Python代码,几乎可以完全按照我的要求进行操作:

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

答案 2 :(得分:0)

对于来自Google的用户:

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

这在Windows和Unix上均可使用。