Аргументы командной строки Python
Аргументы командной строки Python — это входные параметры, которые передаются сценарию при их выполнении. Почти все языки программирования поддерживают аргументы командной строки. Затем у нас также есть параметры командной строки для установки некоторых конкретных параметров программы.
Аргументы командной строки Python
Существует множество вариантов чтения аргументов командной строки Python. Наиболее распространены три из них:
- Python sys.argv
- Модуль Python getopt
- Модуль аргументов Python
Давайте рассмотрим простую программу, чтобы научиться читать и использовать аргументы командной строки Python.
Системный модуль Python
Модуль 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)
Модуль 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)
Модуль аргументов Python
Модуль Python argparse — предпочтительный способ анализа аргументов командной строки. Он предоставляет множество опций, таких как позиционные аргументы, значение по умолчанию для аргументов, справочное сообщение, указание типа данных аргумента и т. д. В самой простой форме мы можем использовать его, как показано ниже.
import argparse
parser = argparse.ArgumentParser()
parser.parse_args()
- sys.argv
- модуль getopt
- модуль синтаксического анализа