有时就是想确认一个路径是不是落在某个目录里,不想自己拆字符串。
环境:Python 3.9+,只用标准库。
from pathlib import Path
base = Path('/tmp/work')
paths = [
Path('/tmp/work/a.txt'),
Path('/tmp/work/sub/b.txt'),
Path('/tmp/other.txt'),
]
for p in paths:
print(p, p.is_relative_to(base))
这个比手写前缀判断稳一点,尤其是路径层级多的时候。