繁体   English   中英

使用pathlib创建符号链接

[英]Create symlink with pathlib

我想测试Python代码是否正确使用了符号链接。 如何以Python2 / 3兼容方式在基于pathlib.Path的伪造文件系统中创建符号链接(例如,等效于os.symlink()用法)?

对于Python 3.x, pathlib软件包位于标准库中。 对于Python 2.7,可以使用backport pathlib2

这两个软件包都有一个.symlink_to(target, target_is_directory=False)方法,该方法应该可以执行您想要的操作。

根据经验,Python 2不喜欢在Windows环境中建立符号链接,但是Python 3支持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!'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM