import sys
print sys.argv[1]
喜
这可能看起来非常基本,但我不能让Python从命令行读取任何内容。 这就是上面的代码和我输入的内容:
myfile.py helloworld
我得到的是:
IndexError: list index out of range
它似乎对我有用,但不再有用了,我尝试卸载并重新安装Python,它仍然无法正常工作。
所以我的问题是,我做错了吗?还是我刚刚打破了Python?
感谢您的帮助
使用: Windows 7的 Python 2.7.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
$