Manejo simple de parámetros

Marcos Sánchez Provencio rapto en arrakis.es
Mie Jun 11 12:29:34 CEST 2003


La manera más sencilla sería usar una biblioteca,
http://optik.sourceforge.net/ o similares (no sé si ya hay alguna
estándar de Python).

¿A alguien se le ocurre algo ingenioso?


El mi? 11-06-2003 a las 12:00, Esteban Manchado Velázquez escribió:
> On Wed, Jun 11, 2003 at 11:42:00AM +0200, Marcos Sánchez Provencio wrote:
> > ¿Por qué es ortopédico? Se entiende mejor que las versiones de ruby y
> > perl. Ya se sabe, explícito es mejor que implícito.
> 
>    /me intentando evitar en una guerra de lenguajes :-)
> 
>    Son formas distintas de verlo, pero algo que es trivial y bastante usual,
> en mi opinión debería poder hacerse con una construcción del lenguaje o con
> una expresión hecha. Claro, que también prefiero Ruby y Perl a Python, y
> ustedes seguramente no ;-)
> 
>    Sobre lo de que se entiende mejor y lo de que explícito es mejor que
> implícito, reconocerás que es una opinión :-) Quiero decir, vale, es más fácil
> de entender para alguien que _no_sabe_, y más fácil de aprender (para
> cualquiera, sin ninguna duda), pero yo, como programador que ya conozco el
> lenguaje, entiendo mucho mejor esto:
> 
> Ruby:
> servidor = ARGV.shift || 'miservidor'
> usuario  = ARGV.shift || 'miusuario'
> clave    = ARGV.shift || 's3cr3t4'
> 
> que esto, sobre todo porque ocupa mucho más y los detalles están especificados
> explícitamente (detalles que realmente no me interesan en _este_ caso, y que
> en mi opinión ocultan el propósito de esa parte del programa):
> 
> if len(sys.argv) > 0:
>    servidor = sys.argv.pop(0)
> else:
>    servidor = 'miservidor'
> 
> if len(sys.argv) > 0:
>    usuario = sys.argv.pop(0)
> else:
>    usuario = 'miusuario'
> 
> if len(sys.argv) > 0:
>    clave = sys.argv.pop(0)
> else:
>    clave = 's3cr3t4'
> 
> Es decir, que con la versión de Ruby no me pierdo en detalles, de un vistazo
> sé exactamente qué está pasando, y no tengo que ponerme a leer las llamadas.
> 
>    Con esto no digo que implícito sea mejor que explícito, sólo digo que en
> este caso, creo que hacerlo explícitamente no es más que una molestia y esta
> legibilidad al programa (insisto, para alguien que sepa programar en el
> lenguaje, no para alguien que intenta aprender a programar).
> 
>    Por cierto, retomando la pregunta inicial: ¿quieres decir que no se te
> ocurre ninguna forma de hacerlo más corto? :-)
> 
>    Saludos,




Más información sobre la lista de distribución Python-es