我正在编写一个脚本,使用英语单词作为参数,而不是传统的--argument
或-a
。
我不敢用argparse处理这个问题,但是当我用sys.argv这样做时:
if sys.argv[3]:
print('yes, there is a third argument')
我得到IndexError: list index out of range
。有什么方法可以解决这个问题?我想知道是否有第三个论点。
答案 0 :(得分:1)
您想检查argv
的长度:
if len(sys.argv) > 3:
print('yes, there is a third argument')
如果你有时间,那么值得学习argparse。它并不太可怕,它使您的代码更容易阅读。
答案 1 :(得分:0)
您可以先使用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