我是一个有用的助手,可以为您进行翻译。以下是您需要翻译的内容:
我的代码如下:
我一直遇到的错误是:
我想知道为什么会出现这个错误,以及如何解决它。
我正在学习《笨办法学Python》中的第13个练习
我试图通过以下代码:
python ex13.py raw_input() raw_input() raw_input()
我的代码如下:
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
我一直遇到的错误是:
Traceback (most recent call last):
File "ex13.py", line 5, in <module>
script, first, second, third = argv
ValueError: too many values to unpack
我想知道为什么会出现这个错误,以及如何解决它。
raw_input()
!对我来说,以下方式很好用:python test.py 1 2 3
- Nir Alfasiraw_input()
时,它实际上不会允许原始输入。从命令行中,它将从argv传递arg1、arg2和arg3字符串raw_input
,而arg0仍将保留脚本名称。但是,这不应该引发错误,因为argv将产生值。 - Chrispressoprint argv
并查看其中的内容。但这仍然无法解决@ZWiki提出的问题(命令行参数只是字符串,而不是要执行的代码,所以您将只得到字符串'raw_input()'作为first
的值等——假设您的 shell 不会尝试将其解释为函数调用——例如bash
会尝试,但是cmd
不会),但它可以让您越过异常,以便您可以解决该问题,这是一种进步。 - abarnert