python:IndexError:列表索引超出范围(file = sys.argv [1])

时间:2015-04-14 16:57:42

标签: python python-2.7

if __name__ == "__main__":
    file = sys.argv[1]
    f = FST("q0")
    #f.addState("1", True)
    #f.addState("2", True)
    #f.addState("3", True)
file = sys.argv[1]行中出现此错误。任何人都可以帮助我。

2 个答案:

答案 0 :(得分:1)

仅当存在脚本的命令行参数时,才会填充sys.argv列表。 sys.argv[0]是您正在运行的脚本的名称。 sys.argv[1]将是传递给脚本的第一个命令行参数。你需要调用你的脚本:

python SCRIPT_NAME FIRST_ARG

答案 1 :(得分:0)

你可能在没有参数的情况下运行你的脚本,而它至少需要一个。

sys.argv是给脚本的参数列表。 sys.argv[0]是脚本本身; sys.argv[1]是第一个实际的论点。如果您没有为脚本提供参数,1是超出范围的索引。