【问题标题】:Exercise 13 the hard way python 3练习 13 困难的方式 python 3
【发布时间】:2014-11-07 10:02:00
【问题描述】:

我正在努力学习 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))

【问题讨论】:

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


    【解决方案1】:

    错误是您没有向脚本传递足够的参数。 这意味着,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))
    

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

    【讨论】:

      【解决方案2】:

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

      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
      

      【讨论】:

      • 这是python2的输出。
      猜你喜欢
      • 2015-05-01
      • 2014-08-16
      • 1970-01-01
      • 1970-01-01
      • 2013-04-06
      • 2011-12-04
      • 2016-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多