如何调整 Python 的 sys.argv 以相应地更改其长度



我一直在尝试使系统。Argv[]根据用户输入的参数数量改变输出。我正在努力使它,如果没有系统。Argv[5]则使用sys.argv[4]。目前,我已经尝试了这两个想法与我的问题总是IndexError:列表索引超出范围当我想要做的时候。Argv [5] left empty:

if len(sys.argv) is 4:
location = int(sys.argv[1])
order = sys.argv[2]
amount = sys.argv[3]
user = sys.argv[4]
company= sys.argv[4]
print(company)
else:
location = int(sys.argv[1])
order = sys.argv[2]
amount = sys.argv[3]
user = sys.argv[4]
company= sys.argv[5]
print(company)

也试图改变"如果len(sys.argv)是4:">"argv[5] != True:">。我读过一些关于解决索引的帖子,但只是不知道如何为我自己的使用量身定制代码。

谢谢!

您可以像下面这样使用try/except块,如果index 5存在则使用它,否则使用index 4

if len(sys.argv) >= 4:
location = int(sys.argv[1])
order = sys.argv[2]
amount = sys.argv[3]
user = sys.argv[4]
try:
company= sys.argv[5]
except IndexError:
company= sys.argv[4]
print(company)
else:
print('Provide minimum 4 args')

最新更新