zoukankan      html  css  js  c++  java
  • python之sys.argv[1] IndexError: list index out of range

    第一点:sys.argv[ ] 函数必须在命令行中执行。
    所以你得先写一个关于sys.argv[ ]的python程序,再拿到命令行中执行。

    文件名: test.py

    import sys
    print(‘sys.argv’) #为了一会再运行结果中看到sys.argv中的内容

    1
    2
    3
    4
    接下来拿他到命令行中执行。打开命令行,先切换到“D:pythonpython38"(因为我的test.py存在这个列表下)然后输入
    python test.py xxx
    "xxx"为你索要输入的变量
    例如我所输入的为a
    输出结果为[‘test.py’,‘a’]
    到这里你就会发现sys.argv其实就是一个字典函数。而往sys.argv中添加变量,就是上面的方法。

    第二点:既然sys.argv[ ]为字典,那么我们就可以使用sys.argv[1]调出变量
    可是当我们无论在命令行中的python还是IDLE中输入sys.argv[1]。
    都调不出我刚才所导入的a。而出现了:
    list index out of range(是超出了sys.argv字典范围的意思)
    也就是说字典中的元素少于2个,这就说明了‘a’并没有被导入sys.argv中。
    原因是sys.argv[ ]是一次性生效的。
    也就是说执行的那一刻才生效,所以你如果要使用的话,就必须把sys.argv[ 1]也先写入test.py。例如:

    文件名: test.py

    import sys
    print(sys.argv) # 显示字典中的变量
    print(sys.argv[1]) #调出我们所导入的变量,也就是我们的目的
    1
    2
    3
    4
    再次在命令行中运行:
    果然我们导入的参数”a“被调出来了。
    不光是简单的‘a’,
    python test.py xxx
    "xxx"为你索要输入的变量
    'xxx’可以是文件,图片,数字…。
    ————————————————
    版权声明:本文为CSDN博主「晓看天色暮看云!」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/m0_46328786/article/details/104340746

  • 相关阅读:
    NUI四种提交数据方式c
    除Hadoop大数据技术外,还需了解的九大技术
    svn提交报错:svn: Aborting commit:XXXXXremains in conflict
    普元部署多个应用的方法(适用EOS6.5以上版本,且无需governor中添加应用)
    C#根据html生成PDF
    判断一个数值是否在一个逗号分隔的字符串中
    判断网站地址是否是http开头
    Date.prototype.format
    C#实现XML与DataTable互转
    C#读取Excel表格数据到DataGridView中和导出DataGridView中的数据到Excel
  • 原文地址:https://www.cnblogs.com/most-silence/p/15495334.html
Copyright © 2011-2022 走看看