Розбір аргументу командного рядка з використанням sys модуль
Аргументи командного рядка зберігаються у списку за допомогою sys модуль. sys.argv використовується для читання значень аргументів командного рядка. Загальну кількість аргументів командного рядка можна підрахувати за допомогою len () функція. Використання цього модуля описано в частині статті.
Приклад 1: Зчитування кількості аргументів та значень аргументів
Створіть файл за допомогою наступного сценарію python. Тут значення аргументів командного рядка зберігаються у змінній, argv як інші мови. len () метод підраховує загальну кількість аргументів, переданих під час виконання сценарію. Значення аргументу друкуються як масив у кінці сценарію.
# Імпортувати модуль sysімпортувати sys
# Вивести загальну кількість аргументів
print ('Всього аргументів:', len (sys.argv))
print ('Значення аргументу:', str (sys.argv))
Вихід:
Наведений вище сценарій виконується тут з використанням чотирьох аргументів командного рядка. Перший аргумент - це ім'я сценарію, а інші - числові значення. Наступний результат з’явиться після запуску сценарію.
Приклад 2: Зчитування значень аргументів за допомогою циклу
У попередньому прикладі значення аргументів друкуються як масив. Створіть файл із таким сценарієм, щоб надрукувати тип змінної аргументу та надрукувати кожне значення аргументу в кожному рядку, використовуючи цикл for.
# Імпортувати модуль sysімпортувати sys
# Вивести тип змінної, sys.argv
print (type (sys.argv))
# Друк кожного аргументу командного рядка в кожному рядку
print ('Аргументи командного рядка:')
для i в sys.argv:
друк (i)
Вихід:
Вищезазначений сценарій виконується шляхом надання трьох аргументів з назвою сценарію. Наступний результат з’явиться після запуску сценарію.
Розбір аргументу командного рядка за допомогою модуля getopt
Getopt модуль використовується для аналізу аргументів командного рядка з параметрами. getopt () Метод цього модуля використовується для читання аргументів. Цей метод має три аргументи. Перші два аргументи є обов’язковими, а останній - необов’язковим. Використання цих аргументів наведено нижче.
аргументи: Він містить аргумент, взятий з аргументу командного рядка.
short_option: Це може бути будь-який лист, який передається з аргументом.
long_option: Він використовується для визначення довгих варіантів із двох частин. Це назва опції та значення опції.
Синтаксис: getopt.getopt (args, short_option, [long_option])
Приклад 3: Зчитування значень аргументів за допомогою коротких опцій getopt
getopt модуль містить більше функцій, ніж sys модуль. Наступний приклад показує, як можна використовувати короткі параметри getopt () метод. argv Змінна зберігатиме аргументи командного рядка, опускаючи ім'я сценарію. Далі два параметри визначаються в getopt () метод, який можна використовувати з аргументом під час виконання. Якщо виникає помилка, відображається повідомлення про помилку.
# Імпортувати модуль getoptімпортувати
# Імпортувати модуль sys
імпортувати sys
# Зберігати змінну аргументу, опускаючи ім'я сценарію
argv = sys.argv [1:]
спробуйте:
# Визначте короткі варіанти getopt
options, args = getopt.getopt (argv, 'x: y:')
# вивести параметри та аргументи
друк (варіанти)
друк (аргументи)
крім getopt.GetoptError:
# Роздрукуйте повідомлення про помилку, якщо вказано неправильний варіант
print ('Неправильний варіант наданий')
# Закінчити сценарій
sys.вихід (2)
Вихід:
Запустіть скрипт без будь-яких аргументів, аргументи з правильними параметрами та аргументи з неправильним варіантом.
Приклад 4: Зчитування значень аргументів за допомогою коротких та довгих опцій getopt
Цей приклад показує, як можна використовувати короткі та довгі параметри зі значеннями аргументів. Він додасть два числа, коли '-а' або '-додати' буде використано як опцію і відніме два числа, коли '-s ' або '-під ' буде використовуватися як опція під час виконання.
# Імпортувати модуль getoptімпортувати
# Імпортувати модуль sys
імпортувати sys
# Зберігати змінну аргументу, опускаючи ім'я сценарію
argv = sys.argv [1:]
# Ініціалізувати змінну результату
результат = 0
спробуйте:
# Визначте короткі та довгі варіанти getopt
options, args = getopt.getopt (sys.argv [1:], 'a: s', ['add =', 'sub ='])
# Прочитайте кожен варіант, використовуючи цикл for
для opt, аргументуйте у параметрах:
# Обчисліть суму, якщо опція -a або --add
якщо ввімкнути ('-a', '--add'):
результат = int (argv [1]) + int (argv [2])
# Обчисліть сутрекцію, якщо опція -s або --sub
elif opt in ('-s', '--sub'):
result = int (argv [1]) - int (argv [2])
print ('Результат =', результат)
крім getopt.GetoptError:
# Роздрукуйте повідомлення про помилку, якщо вказано неправильний варіант
print ('Наведено неправильний варіант')
# Закінчити сценарій
sys.вихід (2)
Вихід:
Запустіть скрипт без будь-яких аргументів та параметрів, аргументів з опцією '-a', аргументів з опцією '-s' та аргументів з неправильною опцією.
Розбір аргументу командного рядка за допомогою модуля argparse
Модуль Argparse містить безліч варіантів читання аргументів командного рядка. Значення аргументів за замовчуванням, аргумент із типом даних, позиційні аргументи, довідкове повідомлення тощо. може бути наданий цим модулем.
Приклад 5: Читання аргументів командного рядка за допомогою argparse
Наступний приклад показує використання argparse модуль для читання аргументу командного рядка. Тут визначено два варіанти читання аргументів командного рядка. Ось такі '-n' або '-name' і '-e' або '-email'. Якщо користувач надає будь-який помилковий аргумент, він покаже повідомлення про помилку із повідомленням про використання. Якщо користувач надає правильні параметри з аргументами, він відображатиме значення аргументів. якщо користувач запускає сценарій з опцією '-help', він надасть необхідне повідомлення для запуску сценарію.
# Імпортувати модуль argparseімпорт argparse
# Імпортувати модуль sys
імпортувати sys
# Оголосити функцію для визначення аргументів командного рядка
def readOptions (args = sys.argv [1:]):
синтаксичний аналізатор = argparse.ArgumentParser (description = "Списки команд аналізу.")
парсер.add_argument ("- n", "--name", help = "Введіть своє ім'я.")
парсер.add_argument ("- e", "--email", help = "Введіть свою електронну адресу.")
opts = парсер.parse_args (аргументи)
опції повернення
# Виклик функції для зчитування значень аргументів
options = readOptions (sys.argv [1:])
друк (параметри.ім'я)
друк (параметри.електронна пошта)
Вихід:
Запустіть скрипт з неправильним варіантом, правильним варіантом та варіантом довідки.
Висновок:
У цьому посібнику описано різні способи читання аргументів командного рядка за допомогою трьох модулів python. Сподіваюся, цей посібник допоможе програмісту, який хоче читати дані за допомогою аргументів командного рядка в python.
Дивіться авторське відео: тут