7
    import sys

    print sys.argv[1]

你好,

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

    myfile.py helloworld

我得到的是:

    IndexError: list index out of range

它似乎对我有用一次,但不再起作用,我尝试卸载并重新安装 Python,但它仍然不起作用。

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

谢谢你的帮助

使用:Windows 7 Python 2.7.2

4

2 回答 2

20

启动注册表编辑器 (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/

于 2014-07-16T12:47:58.617 回答
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
$ 
于 2011-11-01T16:09:10.757 回答