Re: Segun se invoque programa.py

Juan M Puertas <[email protected]>
Newsgroups gmane.comp.python.general.castellano
Message-ID <[email protected]>
lasizoillo ha escrito: "...  busca algún argv[0] por el código (es la variable con el nombre
del programa), que creo que van a ir por allí los tiros ;-) "

* ¡Exacto!. :-) La clave está aquí:

#directories
PREFIX=os.path.split(os.path.split(sys.argv[0])[0])[0]
DATADIR=os.path.join(PREFIX,'share','openastro.org')

 Es decir; que el programa obtiene el camino en el que se está ejecutando la aplicación, y de éste deduce dónde se encuentra la carpeta "openastro.org". En este caso, está en "/usr/share" 
 Por lo tanto se arregla creando la carpeta "share" en el mismo camino en que se encuentra "programa.py", y copiando dentro de "share" la carpeta "openastro.org" que necesita la aplicación.
 El problema ya ha sido resuelto pero me queda la curiosidad  de que "programa.py" está en el mismo directorio que los ejecutables de python; es decir: "/usr/bin", y su carpeta "openastro.org", se instala en "/usr/share".  ¿Porqué cuando se invoca con el nombre del programa, éste encuentra su carpeta de trabajo en "/usr/share", y cuando se invoca con Python o el entorno de desarrollo no?.
 Debe ser alguna particularidad de Linux/Unix que desconozco...
 Muchas gracias a todos, y al ganador de una cerveza con una buena tapa en Granada...¡lasiozillo! :-)
 Juanma.-
P.D. Si no fuera por la crisis de este momento, os invitaba a todos. :-)



      
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.