这是代码。请帮我纠正。
#!/usr/bin/env python
import sys
def print5times(line_to_print):
for count in range(0,5) :
print line_to_print
print5times(sys.argv[1])
运行此代码时出现此错误:
Traceback (most recent call last):
File "./func.py", line 9, in <module>
print5times(sys.argv[1])
IndexError: list index out of range
答案 0 :(得分:1)
sys.argv[1]
为您提供在命令行上传递的第二个参数。
IndexError
来自于您没有为脚本传递足够的参数。
即使您使用当前的代码片段正确地执行了此操作,您也可以打印参数9次而不是5次,正如您的函数名称所示。
答案 1 :(得分:0)
查看sys.argv[1] meaning in script
现在在Python代码中,您可以使用此字符串列表作为输入 你的计划。由于列表是由零基整数索引的,因此可以 使用list [0]语法获取单个项目。例如,要获得 脚本名称:
script_name = sys.argv[0] # this will always work.
虽然知道这很有趣,但你很少需要知道 脚本名称。获取脚本之后的第一个参数 filename,您可以执行以下操作:
filename = sys.argv[1]
这是一种非常常见的用法,但请注意它会失败 如果没有提供参数,则为IndexError。