<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">import os
from typing import Union

_Path = Union[str, os.PathLike]


def ensure_directory(path):
    """Ensure that the parent directory of `path` exists"""
    dirname = os.path.dirname(path)
    os.makedirs(dirname, exist_ok=True)


def same_path(p1: _Path, p2: _Path) -&gt; bool:
    """Differs from os.path.samefile because it does not require paths to exist.
    Purely string based (no comparison between i-nodes).
    &gt;&gt;&gt; same_path("a/b", "./a/b")
    True
    &gt;&gt;&gt; same_path("a/b", "a/./b")
    True
    &gt;&gt;&gt; same_path("a/b", "././a/b")
    True
    &gt;&gt;&gt; same_path("a/b", "./a/b/c/..")
    True
    &gt;&gt;&gt; same_path("a/b", "../a/b/c")
    False
    &gt;&gt;&gt; same_path("a", "a/b")
    False
    """
    return os.path.normpath(p1) == os.path.normpath(p2)
</pre></body></html>