脚本的一部分
if sys.argv[1] == 'help':
help()
elif len(sys.argv) < 5:
use()
else:
pass
host = sys.argv[1]
username = sys.argv[2]
password = sys.argv[3]
node = sys.argv[4]
opts = sys.argv[5]
这只是出现问题的代码的一部分..当我运行它时,出现错误:
host = sys.argv[1]
IndexError:列表索引超出范围
一切都运行良好,但我刚刚重新安装了python。但是,现在它正在制造问题。这仍然适用于Linux。
“通过一些搜索,我开始知道注册表中的.py关联是不正确的。最后它缺少%*。”但是,我不知道如何解决它。
环境变量中的当前设置路径是C:\ Python27; C:\ Python27 \ Lib \ site-packages \; C: \ Python27 \脚本\
答案 0 :(得分:3)
sys.argv
是一个与其他列表一样的列表,除了它是从命令行创建的。
它包含用于运行脚本的命令行所指示的项目。
代码永远不正确,问题与您的Python文件关联或路径无关。 (如果是,您将从命令行收到错误,但是您得到的是来自Python的错误。)
问题是,在检查sys.argv[1]
的长度之前检查'help'
,您认为会有sys.argv
。如果脚本运行时根本没有参数,则[1]
索引超出范围。