在python中获取命令行参数问题

use*_*803 0 python if-statement command-line-arguments

我有一个问题.我需要首先验证python脚本是否至少有2个变量,然后检查是否有"-v"选项作为第一个参数.我的代码不断抛出索引超出范围异常

import sys

if len(sys.argv) >= 2:
    if sys.argv[1]=='-v':
       print('verbose option chosen')
    else:
       print('verbose option not chosen')
else:
    print('not enough variables, try again')
Run Code Online (Sandbox Code Playgroud)

Car*_*ten 5

你正在检查错误的方式.你想第一部分来执行,如果sys.argv至少 2个元素.你要这个:

if len(sys.argv) >= 2:
Run Code Online (Sandbox Code Playgroud)

如果您有时间,请查看argparse模块.