我想检查与文件系统交互的Python生产代码是否认为正确的硬链接(指向相同inode的文件名)。
在单元测试中,我使用的是伪造的文件系统(由pytest
fixture tmp_path
创建,是一个pathlib/pathlib2.Path
对象),并且想要伪造其中的硬链接。
测试中的伪文件系统应包含三个指向伪文件系统中相同inode的硬链接hard_link_0...2.txt
。
hard_link_0.txt
hard_link_1.txt
/dir
hard_link_2.txt
答案 0 :(得分:1)
由于tmp_path
创建了一个 actual 目录(而不是模拟pathlib),因此您可以正常处理tmp_path
中的所有内容。因此,要创建硬链接,可以像往常一样使用os.link(srcpath, dstpath)
(从Python 3.6+开始;否则,使用os.link(str(srcpath), str(dstpath))
)。