我是python新手,我只是在阅读练习不同的东西,我试图弄清楚为什么argv不适合我
from sys import argv
script, bike, car, bus = argv
print ("The script is called:"), script
print ("The first variable is:"), bike
print ("The second variable is "), car
print ("Your third variable is : "),bus
我收到一个错误,需要超过1个值才能解压缩
^{pr2}$从命令行调用我的程序:
python ex13.py
好吧,那你就不能传递任何论点了。那么,作为第一个,第二个,第三个论点,你期待着什么呢?PowerShell不会猜出你想通过什么样的自行车、汽车和公共汽车,就像它会出去给你买自行车、汽车和公共汽车一样。所以,如果你想用代表你的自行车、汽车和公共汽车的参数来运行这个程序,你就必须这样做:
然后脚本将输出这些参数。在
实际上,可能不是,因为你的
^{pr2}$print
调用是错误的。如果这是Python 2.7,那么这些圆括号没有任何作用,因此您将看到:如果是python3.x,括号将参数包装到}的一部分,因此您将看到:
print
,就像任何其他函数一样,因此, script
等不是{您的示例最好写为(以处理任意用法):
出现错误的原因(place show Traceback)是因为调用脚本的参数比尝试“解包”的参数少。在
请参见:Python Packing and Unpacking和Tuples and Sequences,其中显示:
为了演示示例和eht错误发生了什么,请返回:
^{pr2}$这里的错误应该很明显;您试图解压的值比您现有的要多!
为了修正你的例子,我会这样做:
更新:我刚刚注意到这一点;但是您的} 或将参数放入
print()
都是错误的。您需要使用^{print()
函数中。在相关问题 更多 >
编程相关推荐