Что означает 'sys.argv'?

Я учусь на основе кода, и меня смущает одна из его строк:

things = [float(arg) for arg in sys.argv[1:]]
Omega_a, Omega_b, Delta_a, Delta_b, \
init_pop_a, init_pop_b, tstep, tfinal = things

Я поискал в Интернете и попытался понять, что такое sys. arg означает, и вот мое понимание:

Итак sys.argv [0] - это имя файла, а sys.argv [1:] - все остальное параметров, которые должны указывать пользователи. Я не уверен, правильно ли я понял это, и если это так, то я не понимаю, почему это не может быть похоже на:

Omega_a = input() 
Omega_b = input()
etc...

В чем разница между этими двумя способами задания параметров?

Кроме того, если я запустил код (нажмите F5 ), оболочка Python выдаст мне ошибку, например:

Traceback (most recent call last):

File "C:\Users\testcode.py", line 55, in <module>
init_pop_a, init_pop_b, tstep, tfinal = things
ValueError: need more than 0 values to unpack

Мне даже не дали возможность указать параметры ( sys.argv [1:] ) до того, как он дал мне ошибку. Я поискал в Интернете. Похоже, мне нужно запустить этот код в cmd, что меня больше смутило, зачем это нужно и как мне поместить в cmd, чтобы запустить его?

5
задан Peter Mortensen 27 October 2012 в 09:16
поделиться