如何在Python中从命令行存储用户输入?

时间:2011-06-10 18:21:43

标签: python

我正在尝试运行最多包含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'

2 个答案:

答案 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不是从脚本运行时获得的。

您可以发布错误消息,或者您获得的数据以及您期望的数据吗?