os.path.abspath не понял принцип работы

Хочу разрезать видео используя ffmpeg tools и python. Но первому нужно передать полный путь до файла для коррекной работы. Соответсвенно использую модуль os и abspath

Структура проекта такая:

...
Documents
---video_divider
------venv
------video_divider.py
------videos
---------video.mp4

Что бы получить полный (абсолютный путь) до файла video.mp4 использую

    for filename in tqdm(list_of_filenames):
        video_path = os.path.abspath(f"/{folder_name}/{filename}")

Какой результат я получаю:

C:\videos\video.mp4

Какой результат я планирую получить

C:\ .... Documents\video_divider\videos\video.mp4

Знаю что abspath не работает если скрипт запущен не из той же папки что и файл путь до которого я определяю, но если я в папке проекта открываю питон через консоль - все работает. В чем может быть проблема? Как можно по-другому получить этот абсолютный путь. Может быть дело в виртуальном окружении?


Ответы (1 шт):

Автор решения: gil9red

Слеш / в начале строки указывает, что абсолютный путь нужен от корня диска текущей активной директории, поэтому путь стал C:\videos\video.mp4

Если путь нужен от текущей папки, то просто уберите /:

    video_path = os.path.abspath(f"{folder_name}/{filename}")
→ Ссылка