如何在Python中存储命令行用户输入?
我正在尝试运行一个脚本,最多可以接受8个参数。例如:
pythonscript.py hello there howdy do 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
我不太明白这里有什么问题:
>>> 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的命令行中运行的,所以sys.argv的内容和从脚本运行时是不一样的。
你能把错误信息或者你得到的数据和你期望的数据发出来吗?
1
这里有另一种方法,你不需要明确列出 sys.argv
的各种元素:
import sys
if len(sys.argv) > 5:
values = sys.argv[5:]
else:
values = '127.0.0.1'
这个方法利用了Python的切片语法。