有没有一种内置的或简便的方法来比较两条从末端开始而不是从底部开始的路径。有点像通用路径,但另一端。
这是我目前所拥有的,但是我相信有更好的方法可以做到这一点。
import pathlib
def is_path_subset_reverse(path1: Path, path2: Path) -> bool:
# segment paths and reverse the order (leaf->base)
parts = zip(path1.resolve().parts[::-1], path2.resolve().parts[::-1])
for xn,yn in parts:
if not xn == yn:
return False
return True
rel_path = Path('yeti/car/file.ext')
abs_path = Path("D:/frog/yeti/car/file.ext")
is_path_subset_reverse(abs_path, rel_path)
首先,您有一个小问题是,您从未定义path1:路径和path2:路径而且我知道您正在尝试列出目录,但是我尝试在pycharm上运行它,但是它不起作用,我无法发表评论,因为我还没有50的声誉,对此感到抱歉。