Рубрики
Без рубрики

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

Аргументы командной строки Python, чтение и анализ аргументов командной строки Python 3, SYS.ARGV, ARGPARSE и GETOPT Модули для параметров командной строки, Python 3

Автор оригинала: Pankaj Kumar.

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

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

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

  1. Python sys.argv.
  2. Python Getopt модуль
  3. Модуль Python Argparse

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

Модуль Python Sys

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

import sys

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

Ниже изображения иллюстрирует вывод пробега приведенной выше программы.

Есть много других полезных функций в модуле SYS, читайте их в деталях в модуле Python Sys.

Python Getopt модуль

Модуль Python Getopt очень похож на работу в зависимости от C getopt () Функция для анализа параметров командной строки.

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

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 a message or do something useful
    print('Something went wrong!')
    sys.exit(2)

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

Чтобы узнать больше, прочитайте модуль Python Getopt.

Модуль Python Argparse

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

import argparse

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

Ниже приведен выход из быстрой пробеги выше скрипта.

Модуль Python Argparse обеспечивает много множества функций, вы должны прочитать о них на уроке Python Argparse для четкого понимания.

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

Рекомендации: