- ru
- Language: en
- Documentation version: latest
Ввод информации пользователем
Иногда необходимо получить информацию от пользователя, например, запросить пароль.
Для получения информации от пользователя используется функция input()
:
In [1]: print(input('Твой любимый протокол маршрутизации? '))
Твой любимый протокол маршрутизации? OSPF
OSPF
В данном случае информация тут же выводится пользователю, но кроме этого, информация, которую ввел пользователь, может быть сохранена в какую-то переменную и может использоваться далее в скрипте.
In [2]: protocol = input('Твой любимый протокол маршрутизации? ')
Твой любимый протокол маршрутизации? OSPF
In [3]: print(protocol)
OSPF
В скобках обычно пишется какой-то вопрос, который уточняет, какую информацию нужно ввести.
Запрос информации из скрипта (файл access_template_input.py):
interface = input('Enter interface type and number: ')
vlan = input('Enter VLAN number: ')
access_template = ['switchport mode access',
'switchport access vlan {}',
'switchport nonegotiate',
'spanning-tree portfast',
'spanning-tree bpduguard enable']
print('\n' + '-' * 30)
print('interface {}'.format(interface))
print('\n'.join(access_template).format(vlan))
В первых двух строках запрашивается информация у пользователя.
Строка print('\n' + '-' * 30)
используется для того,
чтобы визуально отделить запрос информации от вывода.
Выполнение скрипта:
$ python access_template_input.py
Enter interface type and number: Gi0/3
Enter VLAN number: 55
------------------------------
interface Gi0/3
switchport mode access
switchport access vlan 55
switchport nonegotiate
spanning-tree portfast
spanning-tree bpduguard enable