Привет.
Пишу скрипт, который запускается сторонним приложением с уже заданными в определённом формате параметрами.
Пример скрипта, с использованием библиотеки argparse:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import argparse
def create_parser ():
parser = argparse.ArgumentParser()
parser.add_argument('--allow_ips', nargs='*')
return parser
if __name__ == '__main__':
parser = create_parser()
namespace = parser.parse_args()
print (namespace)
Примеры вызова скрипта:
python ./script.py --allow_ips=
python ./script.py --allow_ips=192.160.0.10
python ./script.py --allow_ips=192.160.0.10 192.160.0.11 192.160.0.12
Т.е. количество значений параметра allow_ips может быть 0 и больше.
Первые два вызова выполняются корректно, третий вызов выбрасывает исключение:
error: unrecognized arguments: 192.160.0.11 192.160.0.12
Если вместо символа "=" использовать пробел, то все параметры передаются верно, но стороннее приложение передаёт параметры именно в таком формате.
Как можно указать для библиотеки использовать нужный разделитель при таком вызове?