Python Glossary English

все Python 3sysпонятие

sys.argv

аргументы

Список аргументов командной строки. sys.argv[0] — имя скрипта, остальные — переданные аргументы.

Синтаксис

sys.argv  # list[str]

Все элементы — строки, даже «10»: без int() или float() арифметики не выйдет. Обращение к sys.argv[1] без проверки len(sys.argv) — самая частая причина IndexError, когда скрипт запустили без аргументов. Само sys.argv[0] зависит от способа запуска (при python -c это '-c', при чтении кода из stdin — пустая строка), а как только флагов становится больше пары, разбирайте их через argparse, а не вручную.

Примеры

import sys
sys.argv = ['script.py', 'arg1', 'arg2']  # так его заполнит: python script.py arg1 arg2
print(sys.argv)  # → ['script.py', 'arg1', 'arg2'] — первым идёт имя скрипта
for arg in sys.argv[1:]:
    print(arg)  # → arg1 / arg2
print(len(sys.argv) - 1)  # → 2 — число аргументов без имени скрипта

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности