我正在尝试运行最多包含8个参数的脚本。例如:
pythonscript.py你好,howdy做argument5 argument6 argument7 argument8
我想在数组中存储参数5-8,但是,如果没有输入参数5-8,我想要一个赋值给变量的默认值。我不在乎它是否是一个元组,输入中的数据不会改变。
到目前为止,我有这个,但无法让它工作。我错过了什么?
import sys
try:
values = (sys.argv[5],sys.argv[6],sys.argv[7],sys.argv[8])
except:
values ='127.0.0.1'
答案 0 :(得分:1)
这是你可以做到的另一种方式,它不需要你明确陈述sys.argv
的各种元素:
import sys
if len(sys.argv) > 5:
values = sys.argv[5:]
else:
values = '127.0.0.1'
这利用了Python的切片语法。
答案 1 :(得分:0)
我不太明白这里有什么问题:
>>> import sys
>>>
>>> try:
... values = (sys.argv[5],sys.argv[6],sys.argv[7],sys.argv[8])
... except:
... values ='127.0.0.1'
...
>>> values
'127.0.0.1'
请注意,这是从python shell运行的,因此sys.argv不是从脚本运行时获得的。
您可以发布错误消息,或者您获得的数据以及您期望的数据吗?