До сих пор я обрабатывал несколько аргументов через Optparse как строку,
Например:
--update_entities="host_group hostname entity_type entities2monitor"
, где entity2monitor имеет переменные аргументы, захватывая их внутри функции обратного вызова через (обратите внимание на [3:]
),
host = value.split()
(host_group, hostname, entity_type, entities2monitor) = (host[0], host[1], host[2], host[3:])
Но как мне подходить к этому, когда мне нужно передать параметры следующей формы в обратный вызов?
(У меня есть контроль над SQL, который будет генерировать строку ввода Optparse)
и
- operations_holder: список состоит из:
- тип_операции: (строка)
- operation_sendto: (строка)
Пример: * * тысяча пятьдесят-три
--create_action='''TEST ACTION | client_service_platform | "CONDITION_TYPE_TRIGGER_NAME CONDITION_OPERATOR_LIKE Weighted Successful" "CONDITION_TYPE_HOST CONDITION_OPERATOR_EQUAL host01" | "OPERATION_TYPE_MESSAGE userid1" "OPERATION_TYPE_EMAIL userid1" "OPERATION_TYPE_EMAIL userid2"'''
Это то, что я имею до сих пор,
actions_splits = actions_parameters.split(" | ")
action_name = actions_splits[0]
hostgroup = actions_splits[1]
actions_holder = actions_splits[2].strip('"').split('" "')
operations_holder = actions_splits[3].strip('"').split('" "')
какие виды работ, но есть ли более простой способ получить эти параметры?