我正在尝试执行一个非常简单的脚本。 它只打印传递的第一个参数。
代码是
import sys
def check(argument):
'''Open, read, and print a file.'''
print argument
if __name__ == "__main__":
check(sys.argv[1])
然而,当我从命令行执行时,我总是得到这个错误
C:\>sample.py myname
Traceback (most recent call last):
File "C:\sample.py", line 7, in <module>
check(sys.argv[1])
IndexError: list index out of range
任何帮助
答案 0 :(得分:5)
你的脚本很好,你执行它的方式是错误的。
C:>sample.py myname
这使用Windows文件扩展名检测来使用python解释器启动它。参数可能会以这种方式丢失。尝试执行它:
C:>python sample.py myname
另请参阅issue 7936。
答案 1 :(得分:1)
这可能是Windows问题:http://bugs.python.org/issue7936