练习13艰难的方式python 3

时间:2014-11-07 10:02:00

标签: python python-3.x import argv sys

我正在艰难地从Python开始练习练习13。我试图学习python 3,所以我试图将代码转换为我在codecademy学到的代码。我以为我输入了错误,所以我把他的代码复制到我的IDE中。我收到了错误。你们能解释一下为什么会发生这种情况。我完成了一手搜索,无法找到任何人收到此错误。谢谢你们的帮助。除了需要运行的()之外,它完全相同。

脚本,第一,第二,第三= argv

ValueError:解包需要多于1个值

 from sys import argv

 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))

2 个答案:

答案 0 :(得分:0)

错误是您没有向脚本传递足够的参数。 这意味着,var argv只有脚本的名称而不再有。请使用len(argv)

进行检查

你应该这样称呼:

python myscript.py variable1 variable2 variable3

如果从IDE调用脚本,则必须将其配置为传递额外的参数。

您还可以动态打印传递给脚本的变量:

print('Script is called: %s' % argv[0])

for var_number, var in enumerate(argv[1:]):
    print('The var number %s is: %s' % (var_number, var))

顺便说一句,变量名称周围的括号是不必要的

答案 1 :(得分:0)

我认为你只是在命令行中传递它: -

root@root:-# python foo.py 

你应该通过: -

root@root:~# python foo.py first second third 

输出继电器: -

The script is called: foo.py
Your first variable is: first
Your second variable is: second
Your third variable is: third