最近开发的遇到一个需求是在判断 两个目录是否相互包含。
想着用正则表达式或者递归去解决,捣鼓一段时间后发现总有些edge case 不能cover到,
后来发现用 python 的pathlib 可以很好的解决。
1
2
3
4
5
6
7
| from pathlib import Path
def overlapping(a, b):
if a == b:
return True
a_path = Path(a)
b_path = Path(b)
return a_path in b_path.parents or b_path in a_path.parents
|