【问题标题】:Python error (list index out of range) [duplicate]Python错误(列表索引超出范围)[重复]
【发布时间】:2016-11-27 22:04:14
【问题描述】:

我对以下 Python 代码部分有疑问:

def main():
file_name = sys.argv[1]
file = open(file_name, 'r')
l = []
for line in file:
    if (len(l) == 4):
        res = valid_data(l)
        if (res == False):
            print("The Data is InValid")
        else:
            print_data(l)
        l = []
    else:
        l.append(line.strip())
if (l != []):
    res = valid_data(l)
    if (res == False):
        print("The Data is InValid")
    else:
        print_data(l)
main()

具体报错如下:

 Traceback (most recent call last):


File "C:\Users\Desktop\44.py", line 194, in <module>
main()



 File "C:\Users\Desktop\44.py", line 173, in main
information = sys.argv[1]
IndexError: list index out of range

运行脚本时,sys.argv 可能需要命令行参数,但我不确定问题可能是什么!

【问题讨论】:

  • "运行脚本时 sys.argv 可能需要命令行参数":它可能。你是如何运行你的程序的?
  • 确认你对file_name = sys.argv[1]的期望。

标签: python python-3.x


【解决方案1】:

sys.argv[1] 是第一个命令行参数。像这样调用脚本

python3 myscript.py myargument

【讨论】:

    猜你喜欢
    • 2013-04-07
    • 2015-01-28
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 2016-01-06
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多