O que significa 'sys.argv'?
Estou aprendendo com o código e fico confuso com uma de suas linhas, que é:
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
Procurei on-line e tentei entender o quesys.arg
significa, e aqui está o meu entendimento:
Entãosys.argv[0]
é o nome do arquivo esys.argv[1:]
é o restante dos parâmetros que devem ser dados pelos usuários. Não sei se entendi direito e, se estiver, não entendo por que não pode ser assim:
Omega_a = input()
Omega_b = input()
etc...
Qual é a diferença entre essas duas maneiras de fornecer parâmetros?
Além disso, se eu executar o código (pressione F5), o shell Python me deu um erro como:
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
Nem sequer tive a chance de fornecer parâmetros sys.argv[1:]
) antes de me dar um erro. Então eu procurei online. Parece que eu preciso executar esse código no cmd, o que me confundiu mais, por que deveria e como devo colocar o cmd para executá-lo?