如何在Python中存储来自命令行的用户输入?
问题描述:
我想用最多8个参数运行一个脚本。例如:如何在Python中存储来自命令行的用户输入?
pythonscript.py你好你好做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'
答
我不太看看有什么错在这里:
>>> 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中是不是你得到,如果从脚本运行。
您可以发布错误消息,或者您获得的数据以及您期望的数据吗?
答
这里的另一种方式,你可以做到这一点并不需要你明确说明的sys.argv
的各种元素:
import sys
if len(sys.argv) > 5:
values = sys.argv[5:]
else:
values = '127.0.0.1'
这需要Python的切片语法的优势。
Bah!我是个假人。我试图在一个函数中处理一个变量,但是它是按顺序执行的。因为我错误地没有正确退出脚本,所以我无法打印数组的内容以确认它正在填充,所以我认为我的问题是数组填充。 – 2011-06-10 19:26:58