Сообщить об ошибке.

Функция argv модуля sys в Python.

Получение списка параметров командной строки Python.

Синтаксис:

import sys

sys.argv

# Новое в Python 3.10
sys.orig_argv

Параметры:

  • нет.

Возвращаемое значение:

  • список аргументов командной строки

Описание:

Функция sys.argv модуля sys возвращает список параметров командной строки, передаваемых скрипту Python.
Выражение argv[0] - это имя скрипта и зависит от операционной системы, является ли это полный путь или нет.
Если команда была выполнена с помощью параметра командной строки -c для интерпретатора, то argv[0] устанавливает строку '-c'. Если имя скрипта не было передано интерпретатору Python, то argv[0] - это пустая строка.
Чтобы перебрать стандартный ввод или список файлов, приведенных в командной строке, смотрите модуль fileinput.
Примечание: в Unix, параметров командной строки передаются байтами из ОС. Python декодирует их с помощью кодировки файловой системы и обработчика ошибок "surrogateescape". Если нужны исходные байты, то их можно получить с помощью [os.fsencode(arg) for arg in sys.argv].
Функция sys.orig_argv (доступна с версии Python 3.10) возвращает список исходных аргументов командной строки, переданных исполняемому файлу Python.
Для удобного разбора параметров, переданных в командную строку стоит посмотреть в сторону встроенных модулей, специализирующихся на этой проблеме argparse и getopt.

Примеры использования.

Использование argv:

Создадим файл test.py со следующим содержимым:
# test.py
import sys, os

print('Список параметров, переданных скрипту')
print(sys.argv)
print('Исходные байты')
print([os.fsencode(arg) for arg in sys.argv])
Запустим файл test.py следующим образом:
$ python3 test.py -file test.txt -pi 3.14
# Список параметров, переданных скрипту
# ['argv.py', '-file', 'test.txt', '-pi', '3.14']
# Исходные байты
# [b'argv.py', b'-file', b'test.txt', b'-pi', b'3.14']

Использование orig_argv:

Создадим файл test.py со следующим содержимым:
# test.py
import sys

print('Список параметров, переданных скрипту')
print(sys.orig_argv)
Запустим файл test.py следующим образом:
$ python3 test.py -file test.txt -pi 3.14
# Список параметров, переданных скрипту
# ['python3', 'test.py', '-file', 'test.txt', '-pi', '3.14']