我正在从代码中学习,但我对其中的一行感到困惑:
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 shell 会给我一个错误,例如:
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 中才能运行它?