Estoy ejecutando el código de abajo en Spyder. Lo he escrito en un archivo py simplemente presionando el botón Ejecutar.
Cuando bash ejecutarlo me sale el error:
ValueError: necesita más de 1 valor para descomprimir
Como se muestra aquí, debe proporcionar las entradas para la variable argv antes de ejecutar el progtwig, pero no sé cómo hacerlo es 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
Lea las preguntas frecuentes en la parte inferior de la página, menciona específicamente este error.
Preguntas comunes de estudiantes
P. Cuando lo ejecuto, obtengo
ValueError: need more than 1 value to unpack
.Recuerda que una habilidad importante es prestar atención a los detalles. Si observa la sección Qué debe ver, verá que ejecuto el script con parámetros en la línea de comandos. Debes replicar cómo lo ejecuté exactamente.
Asegúrate de ejecutar el comando:
$ 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
Puede asegurarse de que los argumentos son suministrados.
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...'
Para pasar argv
a un script en Spyder, debe ir a la entrada del menú
Run > Configuration per file
o presione la tecla Ctrl + F6 , luego busque la opción llamada
Command line options
en el cuadro de diálogo que aparece después de eso, y finalmente ingrese los argumentos de la línea de comando que desea pasar al script, que en este caso podría ser
one two three
En Spyder, vaya a Run > Configure
y defina sus valores argv como se muestra en el siguiente diagtwig y para ejecutar el script solo presione F6
Además de configurar en Run->Configure
como se explica en otras respuestas, puede usar “runfile” directamente desde la consola.
Ejecuta lo siguiente:
runfile('ex13.py', args='first second third')