尝试执行脚本时的IndexError

时间:2015-06-07 09:10:18

标签: python

我试图找出原因

def scanner(fileName, function):
    with open(fileName) as file:
        for line in file:
            function(line)

def toSmallLetters(line):
    print line.lower()

def paramin(fileName):
    scanner(fileName, toSmallLetters)

if __name__ == "__main__":
    import sys
    paramin(sys.argv[1])

抛出此错误:

Traceback (most recent call last):
  File "script.py", line 14, in <module>
    paramin(sys.argv[1])
IndexError: list index out of range

出了什么问题?

2 个答案:

答案 0 :(得分:0)

你得到了:

Traceback (most recent call last):
  File "script.py", line 14, in <module>
    paramin(sys.argv[1])
IndexError: list index out of range

因为当您运行脚本时,您需要提供一个参数,可能是您要扫描的文件名。如果文件名为script.py,则可以运行:

python script.py name-of-file-to-scan

答案 1 :(得分:0)

sys模块通过sys.argv提供对任何命令行参数的访问。

运行程序时提供参数。 例如:

python script.py file_name