我正在编写一个使用英语单词作为参数的脚本,而不是传统的--argument
或-a
.
我不敢用 argparse 处理这个问题,但是当我用 sys.argv 这样做时:
if sys.argv[3]:
print('yes, there is a third argument')
我得到一个IndexError: list index out of range
. 解决这个问题的可能方法是什么?我想知道是否有第三个论点。
我正在编写一个使用英语单词作为参数的脚本,而不是传统的--argument
或-a
.
我不敢用 argparse 处理这个问题,但是当我用 sys.argv 这样做时:
if sys.argv[3]:
print('yes, there is a third argument')
我得到一个IndexError: list index out of range
. 解决这个问题的可能方法是什么?我想知道是否有第三个论点。
您要检查 的长度argv
:
if len(sys.argv) > 3:
print('yes, there is a third argument')
但是,如果您有时间,值得学习 argparse。它并不太可怕,它使您的代码更易于阅读。
您可以使用len()
先检查长度或捕获IndexError
.
if len(sys.argv) > 3:
# all three arguments are present
print 'arg1', sys.argv[1], 'arg2', sys.argv[2], 'arg3', sys.argv[3]
或者:
try:
arg1, arg2, arg3 = sys.argv[1], sys.argv[2], sys.argv[3]
except IndexError:
# arguments are missing