Muchas gracias por la pronta respuesta. No conocía la existencia de eval(), y mucho menos la de ConfigParser. Aunque la línea que me has indicado ya ha solucionado mi problema, echaré una ojeada a la documentación para ver cómo funciona esta biblioteca.
Atentamente, Francesc Gispert El sáb, 15-10-2011 a las 21:06 +0200, Daπid escribió: > En primer lugar, para almacenar y recuperar variables de ficheros, > Python tiene la biblioteca ConfigParser. Mírate la documentación, a > ver si te proporciona todo lo que necesitas. > > Verás que a la hora de recuperar números almacenados (ej: 125), se usa > un eval(). En tu código: > > parametros.append(eval(linea[:-1])) > > Esto evalúa la cadena como si fuera código. > > > Espero que te sirva. > > 2011/10/15 Francesc Gispert Sanchez <francesc_gispert_11...@hotmail.com>: > > Estimados/as señores/as, > > > > Estoy haciendo una versión sencilla del videojuego Space Invaders con > > PyGame para practicar (aún soy muy novato en esto de la programación) y > > he hecho un pequeño script que permite crear un documento de texto plano > > donde se almacena la configuración de las teclas que se utilizarán para > > los controles. > > > > Pero los nombres de las teclas se almacenan por el nombre que tienen las > > constantes en PyGame (por ejemplo, K_RETURN para la tecla 'Enter' o > > K_SPACE para la barra espaciadora). Pero a la hora de leer el archivo, > > si lo hago con un bucle 'for' del estilo: > > > > parametros = [] > > for linea in archivo: > > if linea == "": > > break > > parametros.append(linea[:-1]) > > > > Los distintos parámetros se almacenan en forma de cadenas de texto (por > > ejemplo, parametros = ["K_RETURN", "K_SPACE"] ). Por eso, cuando quiero > > comprobar si la tecla que pulsa el jugador concuerda con estas, detecta > > que son distintas, porque las constantes de pygame.locals: K_RETURN, > > K_SPACE, etc., son en realidad números (creo). Entonces, si asigno la > > constante DISPARAR (por ejemplo) a lo que en el archivo de texto es la > > cadena "K_RETURN", yo lo que quiero en realidad es que se asigne el > > número 125 (me lo acabo de inventar, no sé si es este), el que > > corresponde a la constante K_RETURN, a esta constante. ¿Hay alguna forma > > más o menos sencilla de conseguirlo? > > > > No sé si me he expresado bien, si es necesario puedo poner trozos de > > código de ejemplo. Muchas gracias por vuestra ayuda. > > > > > > Atentamente, > > > > Francesc Gispert > > > > _______________________________________________ > > Python-es mailing list > > Python-es@python.org > > http://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > > > _______________________________________________ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/