tôi đang học từ mã, và tôi bị lẫn lộn bởi một trong những dây chuyền của nó đó là:'sys.argv' có nghĩa là gì?
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
Tôi đã tìm kiếm trực tuyến và cố gắng hiểu những gì sys.arg
phương tiện, và đây là sự hiểu biết của tôi:
Vì vậy, sys.argv[0]
là tên tệp và sys.argv[1:]
là phần còn lại của các thông số mà người dùng phải cung cấp. Tôi không chắc mình có hiểu đúng không, và nếu có, thì tôi không hiểu tại sao nó không thể như sau:
Omega_a = input()
Omega_b = input()
etc...
Sự khác biệt giữa hai cách đưa ra tham số là gì?
Ngoài ra, nếu tôi chạy mã (nhấn F5 ), vỏ Python cho tôi một lỗi như:
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
Tôi thậm chí còn không có cơ hội để cung cấp cho các thông số (sys.argv[1:]
) trước khi nó đã cho tôi một lỗi. Vì vậy, tôi đã tìm kiếm trực tuyến. Dường như tôi cần phải chạy mã này trong cmd mà tôi nhầm lẫn nhiều hơn, tại sao nên nó và làm thế nào tôi nên đưa vào cmd để chạy nó?
ah! được rồi, tôi hiểu rồi. – user1233157