我想测试Python代码是否与符号链接一起正常工作。如何以Python2/3兼容的方式在基于pathlib.Path的伪造文件系统中创建符号链接(例如,相当于如何使用os.symlink() )?
发布于 2019-02-07 20:48:40
对于Python3.x,pathlib包在标准库中。对于Python2.7,您可以使用后端pathlib2。
这两个包都有一个.symlink_to(target, target_is_directory=False)方法,它应该可以执行您想要的操作。
根据经验,Python2不喜欢在Windows环境中创建符号链接,但Python3支持NTFS符号链接。Linux很乐意在这两种语言中创建符号链接。其他我不能代言的环境。
下面是一个用法示例
In [1]: from pathlib import Path
In [2]: Path('textfile.txt').write_text('hello world!')
Out[2]: 12
In [3]: print(list(Path('.').rglob('*.*')))
[PosixPath('textfile.txt')]
In [4]: Path('link-to-textfile.txt').symlink_to(Path('textfile.txt'))
In [5]: print(list(Path('.').rglob('*.*')))
[PosixPath('textfile.txt'), PosixPath('link-to-textfile.txt')]
In [6]: Path('link-to-textfile.txt').read_text()
Out[6]: 'hello world!'https://stackoverflow.com/questions/54572785
复制相似问题