【问题标题】:IndexError: list index out of range python ( Print )IndexError:列表索引超出范围python(打印)
【发布时间】:2018-11-14 09:12:03
【问题描述】:

我试图运行这个:

import sys

# Program 
print("Hallo",sys.argv[1])

但是得到这个错误:

回溯(最近一次通话最后一次):
文件“C:\Users\Shakh\Desktop\Hello3.py”,第 4 行,在
print("你好",sys.argv[1])
IndexError: 列表索引超出范围

【问题讨论】:

  • 你传递了命令行参数吗?
  • 您确定要查找sys.argv
  • 是的。给出了示例代码,但无法运行。这就是我问的原因。
  • @U8-Forward 可能是这样,但我发现之前看起来很混乱,很难理解。谢谢

标签: python python-3.x


【解决方案1】:

试试这个:

import sys
print("Hallo",sys.argv[0])

当时没有索引1,列表的索引从0开始。

【讨论】:

    【解决方案2】:

    sys.argv 包含您提供的命令行参数列表。

    如果您不提供任何参数(python program.py 除外),则列表将只有一个参数,即只有 sys.argv[0]。

    您需要提供一些参数,例如 python program.py xyz,或者使用 sys.argv[0]。使用 sys.argv[0] 将返回 python 文件的名称给你。

    【讨论】:

    • 你能解释一下我应该如何给出一些参数,比如 (python program.py) 。您在第 3 部分第 1 行中写的内容。
    • 如果我想让我的程序说“Hello Vaibhav”,那么我会给出类似 python program.py Vaibhav 的参数。我的打印语句将是 print("Hello",sys.argv[1])
    【解决方案3】:

    sys.argv 将保存您在运行程序时传递的命令行参数。例如,您可以将其运行为:

    python Hello3.py Shakhawat
    

    【讨论】:

    • 这将打印 HalloShakhawat,因为 Hello3.py 是 sys.argv 的第一个元素
    猜你喜欢
    • 1970-01-01
    • 2016-08-25
    • 2017-04-05
    • 2012-07-15
    • 2013-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多