Аргументы командной строки Python

Аргументы командной строки Python – это входные параметры, передаваемые скрипту при его выполнении. Почти все языки программирования поддерживают командные аргументы. Кроме того, у нас также есть командные опции для установки некоторых конкретных параметров программы.

Аргументы командной строки Python

Существует множество вариантов для чтения аргументов командной строки Python. Три наиболее распространенных – это:

  1. Модуль sys.argv в Python
  2. Модуль getopt в Python
  3. Модуль argparse в Python

Давайте рассмотрим простую программу, чтобы узнать, как читать и использовать аргументы командной строки Python.

Модуль sys в Python

Модуль sys в Python сохраняет аргументы командной строки в список, к которому мы можем получить доступ с помощью sys.argv. Это очень полезный и простой способ чтения аргументов командной строки в виде строки. Давайте рассмотрим простой пример чтения и печати аргументов командной строки с использованием модуля sys в Python.

import sys

print(type(sys.argv))
print('The command line arguments are:')
for i in sys.argv:
    print(i)

Ниже приведено изображение вывода образца работы указанной выше программы. В модуле sys есть много других полезных функций, подробно о них можно прочитать на python sys module.

Модуль getopt Python

Модуль getopt Python очень похож на работу функции getopt() на языке Си для разбора параметров командной строки. Модуль getopt Python полезен при разборе аргументов командной строки, где мы также хотим, чтобы пользователь вводил некоторые опции. Давайте рассмотрим простой пример, чтобы понять это.

import getopt
import sys

argv = sys.argv[1:]
try:
    opts, args = getopt.getopt(argv, 'hm:d', ['help', 'my_file='])
    print(opts)
    print(args)
except getopt.GetoptError:
    # Вывести сообщение или выполнить что-то полезное
    print('Something went wrong!')
    sys.exit(2)

Приведенный выше пример очень прост, но мы легко можем расширить его для выполнения различных действий. Например, если передана опция помощи, то вывести некоторое дружелюбное сообщение и выйти. Здесь модуль getopt автоматически разберет значение опции и сопоставит их. На изображении ниже показан образец работы. Чтобы узнать больше, прочтите python getopt module.

Модуль argparse Python

Python argparse – предпочтительный способ разбора аргументов командной строки. Он предоставляет множество опций, таких как позиционные аргументы, значения по умолчанию, справочные сообщения, указание типа данных аргумента и многое другое. В самой простой форме мы можем использовать его следующим образом.

import argparse

parser = argparse.ArgumentParser()
parser.parse_args()

Ниже приведен вывод быстрого запуска вышеуказанного сценария. Модуль argparse в Python предоставляет множество функций, о которых стоит прочитать в руководстве по аргументам командной строки в Python для более ясного понимания. Вот все варианты для чтения и разбора аргументов командной строки в Python, вы должны решить, какой подходит для ваших конкретных требований, и затем использовать его. Ссылки:

Source:
https://www.digitalocean.com/community/tutorials/python-command-line-arguments