Создать относительный путь и быть независимым от ОС - PullRequest
0 голосов
/ 01 февраля 2020

Как я могу получить имя файла моего скрипта в виде относительного пути к cwd и оно не зависит от ОС?

например, если я нахожусь в linux, он должен вернуть "./script.py" и если я нахожусь в windows, он должен вернуть ". \\ script.py"

Я пытался с os.path.join и os.path.basename(__file__), но он возвращает абсолютный путь.

Ответы [ 2 ]

1 голос
/ 01 февраля 2020
import os
import platform

path = os.path.basename(__file__)
run_on=platform.system()
if run_on=='Windows': path=f'.\\{path}'
elif run_on=='Linux': path=f'./{path}'

print(f'path is {path}')
0 голосов
/ 01 февраля 2020

Почему бы просто не позволить os справиться с этим за вас?

path = os.path.normcase(os.path.join('.', os.path.relpath(__file__)))
...