Найти - Пользователи
Полная версия: Странное поведение argparse
Начало » Python для новичков » Странное поведение argparse
1
koluna
Всем привет!

На Windows использую argparse, Python 2.7.

Заметил одну особенность.
Возможно, я не совсем правильно использую модуль…

1. Если запускаю скрипт на выполнение в виде
python prog.py --x=12345
то
os.path.dirname(__file__)
в скрипте не возвращает путь (возвращает только имя файла), argparse находит параметры.

2. Если запускаю скрипт на выполнение в виде
prog.py --x=12345
то функцией выше возвращается полный путь к файлу, но argparse не находит параметров. Такое ощущение, что ОС их отсекает…

Иными словами, если выполнять скрипт, передавая его интерпретатору, то argparse находит параметры.
А если выполнять без передачи интерпретатору, то argparse не находит параметров.

Где ошибка?

koluna
Разобрался.
Чтобы в Windows при запуске скрипта с параметрами (актуально при запуске без указания интерпретатора) эти параметры не терялись, нужно подправить в реестре строку запуска интерпретатора:

В реестре Windows 7:
параметр
значение “C:\Python27\python.exe” “%1” %*

Комбинация %* должна быть без кавычек, иначе все переданные параметры будут переданы как один единственный!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB