yfszzx / stable-diffusion-webui-images-browser

an images browse for stable-diffusion-webui
489 stars 232 forks source link

fix path #16

Closed w-e-w closed 2 years ago

w-e-w commented 2 years ago

fix your strange path splitting as mentioned before https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/3491

w-e-w commented 2 years ago

a test script for you to play with

import os
from pathlib import Path

def strange_path_split(dir_name:str):
    d = dir_name.split("/")
    dir_name = "/" if dir_name.startswith("/") else d[0]
    for p in d[1:]:
        dir_name = os.path.join(dir_name, p)
    print(dir_name)

if __name__ == '__main__':

    linux_abs_1 = "/linux/abs/path"
    win_abs_1 = "A:\\abs\\path"
    win_abs_2 = "A:/abs/path"
    linux_relative = "/linux/abs/path"
    win_relative_1 = "win\\r\\p"
    win_relative_2 = "win/r/p"

    print(linux_abs_1)
    strange_path_split(linux_abs_1)
    print(Path(linux_abs_1))
    print()
    print(win_abs_1)
    strange_path_split(win_abs_1)
    print(Path(win_abs_1))
    print()
    print(win_abs_2)
    strange_path_split(win_abs_2)
    print(Path(win_abs_2))
    print()
    print(linux_relative)
    strange_path_split(linux_relative)
    print(Path(linux_relative))
    print()
    print(win_relative_1)
    strange_path_split(win_relative_1)
    print(Path(win_relative_1))
    print()
    print(win_relative_2)
    strange_path_split(win_relative_2)
    print(Path(win_relative_2))

    print(type(Path(win_relative_2)))
    print(Path(""))
yfszzx commented 2 years ago

thanks