如何在Spyder中使用argv
我在Spyder里运行下面的代码。
我把它写在一个.py文件里,然后直接点击了运行按钮。
但是当我尝试运行时,出现了这个错误:
ValueError: 需要更多的值来解包
如这里所示,在运行程序之前,你需要为argv变量提供输入,但我不知道在Spyder里该怎么做?
http://learnpythonthehardway.org/book/ex13.html
from sys import argv
script, first, second, third = argv
print "The script is called:", script
print "The first variable is:", first
print "The second variable is:", second
print "Your third variable is:", third
4 个回答
21
在Spyder中,点击 运行 > 配置
,然后按照下面的图示设置你的argv值。要运行脚本,只需按 F6
键。
42
除了在 Run->Configure
中进行设置,正如其他回答所提到的,你还可以直接在控制台使用“runfile”。
运行以下命令:
runfile('ex13.py', args='first second third')
82
要在Spyder中给脚本传递argv
,你需要去菜单里找到
运行 > 每个文件的配置
或者直接按Ctrl+F6这个组合键,然后在弹出的对话框中寻找一个叫做
命令行选项
的选项,最后在这里输入你想传递给脚本的命令行参数,比如说可以输入
one two three
-16
请查看页面底部的常见问题解答,里面专门提到了这个错误。
常见学生问题
问:我运行的时候出现了
ValueError: need more than 1 value to unpack
的错误。记住,注意细节是一个很重要的技能。如果你看看“你应该看到的内容”那一部分,你会发现我在命令行中运行脚本时使用了参数。你需要完全按照我运行的方式来做。
确保你运行的命令是:
$ python ex13.py first 2nd 3rd
>> The script is called: ex13.py >> Your first variable is: first >> Your second variable is: 2nd >> Your third variable is: 3rd
这样可以确保你提供了正确的参数。
if __name__ == '__main__':
if len(argv) == 4:
script, first, second, third = argv
print 'The script is called:', script
print 'Your first variable is:', first
print 'Your second variable is:', second
print 'Your third variable is:', third
else:
print 'You forgot the args...'