РЕДАКТИРОВАТЬ : в ответе Алекса показано, как заставить argparse
управлять преобразованием относительных в абсолютные значения путем простого заполнения параметра add_argument
* type
.
Я не думаю, что argparse предоставляет такую возможность, но вы можете добиться этого, используя os.path.abspath :
abs_src = os.path.abspath(args.src)
Имейте в виду, что это создаст абсолютный путь путем объединения рабочего каталога с относительным путем. Таким образом, путь считается относительно рабочего каталога.
Если вы хотите указать путь относительно каталога скрипта, вы можете использовать os.path.dirname для переменной __file__
и os.path.join для построения абсолютный путь от пути относительно вашего скрипта Python:
script_dir = os.path.dirname(__file__)
abs_src = os.path.join(script_dir, args.src)
Наконец, так как объединенный путь может содержать токены, такие как .
и ..
, вы можете "предварительно откорректировать" свой построенный путь с помощью os.path.normpath :
abs_path = os.path.normpath(os.path.join(script_dir, args.src))