Python不会读取sys.argv

时间:2011-11-01 15:59:04

标签: python command-line-arguments sys

    import sys

    print sys.argv[1]

这可能看起来非常基本,但我不能让Python从命令行读取任何内容。 这就是上面的代码和我输入的内容:

    myfile.py helloworld

我得到的是:

    IndexError: list index out of range

它似乎对我有用,但不再有用了,我尝试卸载并重新安装Python,它仍然无法正常工作。

所以我的问题是,我做错了吗?还是我刚刚打破了Python?

感谢您的帮助

使用: Windows 7的 Python 2.7.2

2 个答案:

答案 0 :(得分:16)

启动注册表编辑器(regedit)。将 HKEY_CLASSES_ROOT \ Applications \ python26.exe \ shell \ open \ command 键设置为: "C:\Python26\python26.exe" "%1" %*

此解决方案的来源:http://eli.thegreenplace.net/2010/12/14/problem-passing-arguments-to-python-scripts-on-windows/

答案 1 :(得分:5)

您确定以您认为的方式调用python脚本吗?

#!/usr/bin/python
import sys

if len(sys.argv) < 2:
    print "you did not give any arguments\n"
else:
    print sys.argv[1]

返回:

$ ./foo.py 
you did not give any arguments

$ ./foo.py hello_world
hello_world
$