У меня есть такая строка внутри файла yaml:
switchport private-vlan trunk allowed vlan: 100-115,1060,1802,1455,1433,1422
, что она конвертируется шаблоном jinja2 следующим образом:
interface GigabitEthernet100/0/0.100-115
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.1060
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.1802
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.1455
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.1433
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.1422
description test02 slot1/1_1G
Я использую split внутри jinja2шаблон (см. фрагменты кода ниже), чтобы я мог получить мой результат, описанный ниже ..
После того, как я разделил "," как я могу сделать так, чтобы он снова разделил диапазон найденных чисел?Примерно так: если вы видите 100-115, начните с 100 до 115, чтобы я мог использовать его в выражении for.
{% if lines == "interface GigabitEthernet1/1" %}
{% for vlan in configIF[lines]['switchport private-vlan trunk allowed vlan'].split(",") %}
interface GigabitEthernet100/0/0.{{ vlan }}
description {{ configIF[lines]['description'] }}
{% endfor %}
{% endif %}
{{ lines }}
description {{ configIF[lines]['description'] }}
{% endfor %}
Мои результаты:
interface GigabitEthernet100/0/0.100-115
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.1000
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.1402
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.1404
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.1406
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.1414
description test02 slot1/1_1G
Ожидаемые результаты:
interface GigabitEthernet100/0/0.100
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.101
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.102
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.103 ... and so on until 115
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.1000
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.1402
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.1404
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.1406
description test02 slot1/1_1G
interface GigabitEthernet100/0/0.1414
description test02 slot1/1_1G