无法获取sys.argv[1]值
我正在尝试运行一个非常简单的脚本。这个脚本只会打印出传入的第一个参数。
代码如下
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
有没有人能帮帮我
2 个回答
5
你的脚本没问题,问题出在你执行它的方式上。
C:>sample.py myname
这个方法是通过Windows的文件扩展名来启动Python解释器的。这样可能会导致参数丢失。试试这样执行:
C:>python sample.py myname
另外,可以看看 这个问题。
1
这可能是一个Windows系统的问题:http://bugs.python.org/issue7936