如何调整 Python 的 sys.argv 以相应地更改其长度
How to adjust Python's sys.argv to change its length accordingly
我一直在尝试让 sys.argv[] 根据用户输入的参数数量更改其输出。我试图做到这一点,如果没有 sys.argv[5],那么它将使用 sys.argv[4]。目前我已经尝试过这两个想法来解决我的问题总是 IndexError: list index out of range 当我试图让 sys.argv[5] 留空时:
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)
还尝试将 "if len(sys.argv) 为 4:" 更改为 "if sys.argv[5] ! = 真:。我读过一些关于解决索引的帖子,但不知道如何实际定制代码以供我自己使用。
谢谢!
您可以像下面那样使用 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')
我一直在尝试让 sys.argv[] 根据用户输入的参数数量更改其输出。我试图做到这一点,如果没有 sys.argv[5],那么它将使用 sys.argv[4]。目前我已经尝试过这两个想法来解决我的问题总是 IndexError: list index out of range 当我试图让 sys.argv[5] 留空时:
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)
还尝试将 "if len(sys.argv) 为 4:" 更改为 "if sys.argv[5] ! = 真:。我读过一些关于解决索引的帖子,但不知道如何实际定制代码以供我自己使用。
谢谢!
您可以像下面那样使用 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')