Аргументи, наведені після назви програми в оболонці командного рядка операційної системи, відомі як Аргументи командного рядка . Python надає різні способи роботи з цими типами аргументів. Три найпоширеніші:
Використання sys.argv
Модуль sys надає функції та змінні, які використовуються для керування різними частинами середовища виконання Python. Цей модуль надає доступ до деяких змінних, які використовуються або обслуговуються інтерпретатором, і до функцій, які сильно взаємодіють з інтерпретатором.
Однією з таких змінних є sys.argv, яка є простою структурою списку. Його головне призначення:
- Це список аргументів командного рядка.
- len(sys.argv) надає кількість аргументів командного рядка.
- sys.argv[0] — це назва поточного сценарію Python.
приклад: Припустімо, що є сценарій Python для додавання двох чисел, і числа передаються як аргументи командного рядка.
Python3
# Python program to demonstrate> # command line arguments> import> sys> # total arguments> n>=> len>(sys.argv)> print>(>'Total arguments passed:'>, n)> # Arguments passed> print>(>'
Name of Python script:'>, sys.argv[>0>])> print>(>'
Arguments passed:'>, end>=> ' '>)> for> i>in> range>(>1>, n):> >print>(sys.argv[i], end>=> ' '>)> > # Addition of numbers> Sum> => 0> # Using argparse module> for> i>in> range>(>1>, n):> >Sum> +>=> int>(sys.argv[i])> > print>(>'
Result:'>,>Sum>)> |
>
>
Вихід:

Використання модуля getopt
Python модуль getopt подібна до функції getopt() C. На відміну від модуля sys, модуль getopt розширює розділення вхідного рядка шляхом перевірки параметрів. Він дозволяє як короткі, так і довгі варіанти, включаючи призначення значення. Однак цей модуль потребує використання модуля sys для належної обробки вхідних даних. Для використання модуля getopt необхідно видалити перший елемент зі списку аргументів командного рядка.
Синтаксис: getopt.getopt(args, options, [long_options])
Параметри:
аргументи: Список аргументів для передачі.
параметри: Рядок літер параметрів, які сценарій хоче розпізнати. Параметри, які потребують аргументу, повинні супроводжуватися двокрапкою (:).
довгі_опції: Список рядків з назвою довгих параметрів. Параметри, які потребують аргументів, повинні супроводжуватися знаком рівності (=).
Тип повернення: Повертає значення, що складається з двох елементів: перший – це список пар (параметр, значення). Другий — список аргументів програми, що залишився після видалення списку параметрів.
ascii в java
приклад:
Python3
# Python program to demonstrate> # command line arguments> import> getopt, sys> # Remove 1st argument from the> # list of command line arguments> argumentList>=> sys.argv[>1>:]> # Options> options>=> 'hmo:'> # Long options> long_options>=> [>'Help'>,>'My_file'>,>'Output='>]> try>:> ># Parsing argument> >arguments, values>=> getopt.getopt(argumentList, options, long_options)> > ># checking each argument> >for> currentArgument, currentValue>in> arguments:> >if> currentArgument>in> (>'-h'>,>'--Help'>):> >print> (>'Displaying Help'>)> > >elif> currentArgument>in> (>'-m'>,>'--My_file'>):> >print> (>'Displaying file_name:'>, sys.argv[>0>])> > >elif> currentArgument>in> (>'-o'>,>'--Output'>):> >print> ((>'Enabling special output mode (% s)'>)>%> (currentValue))> > except> getopt.error as err:> ># output error, and return with an error code> >print> (>str>(err))> |
>
перетворити рядок на об’єкт json
>
Вихід:

Використання модуля argparse
Використання модуля argparse є кращим варіантом, ніж два вищезазначені варіанти, оскільки він надає багато параметрів, таких як позиційні аргументи, значення за замовчуванням для аргументів, довідкове повідомлення, визначення типу даних аргументу тощо.
Примітка: Як необов’язковий аргумент за замовчуванням він включає -h разом із довгою версією –help.
приклад 1: Базове використання модуля argparse.
Python3
# Python program to demonstrate> # command line arguments> import> argparse> # Initialize parser> parser>=> argparse.ArgumentParser()> parser.parse_args()> |
>
>
Вихід:

приклад 2: Додавання опису до довідкового повідомлення.
Python3
# Python program to demonstrate> # command line arguments> import> argparse> msg>=> 'Adding description'> # Initialize parser> parser>=> argparse.ArgumentParser(description>=> msg)> parser.parse_args()> |
>
>
Вихід:

приклад 3: Визначення необов'язкового значення
Python3
ціле число в рядок у java
# Python program to demonstrate> # command line arguments> import> argparse> # Initialize parser> parser>=> argparse.ArgumentParser()> # Adding optional argument> parser.add_argument(>'-o'>,>'--Output'>,>help> => 'Show Output'>)> # Read arguments from command line> args>=> parser.parse_args()> if> args.Output:> >print>(>'Displaying Output as: % s'> %> args.Output)> |
>
>
Вихід:
