Python

Як проаналізувати аргументи в командному рядку в Python

Як проаналізувати аргументи в командному рядку в Python
Аргументи командного рядка використовуються для передачі даних у програмі під час виконання програми. Ця функція доступна на більшості популярних мов програмування. Але обробка аргументів командного рядка різна для різних мов. Значення аргументів подаються з назвою програми під час запуску програми. Мова Python підтримує цю функцію. У цій статті показано, як аналізуються аргументи командного рядка в сценарії Python.

Розбір аргументу командного рядка з використанням 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.

Дивіться авторське відео: тут

How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Безкоштовні ігри з відкритим кодом для розробки ігор Linux
У цій статті буде розглянуто перелік безкоштовних ігрових механізмів з відкритим кодом, які можна використовувати для розробки 2D та 3D ігор на Linux....
Підручник Тінь розкрадача гробниць для Linux
Shadow of the Tomb Raider - дванадцяте доповнення до серії Tomb Raider - франшизи екшн-пригодницької гри, створеної Eidos Montreal. Гру сприйняли як к...