Python - Abrir archivo sin abrir la aplicacion

   
Vista:

Abrir archivo sin abrir la aplicacion

Publicado por Jose (2 intervenciones) el 02/12/2013 17:47:36
He programado un aplicacion con tkinter en la que genero un pequeño archivo para almacenar unos valores.
Al archivo generado le añado la extension .fro y la aplicacion con py2exe la he pasado a exe.
Ahora mismo puedo abrir la aplicacion y elegir el archivo .fro que quiera , lee los dados almacenados y los muestra.
Pero lo que tambien quisiera es que le diera doble clic al archivo y realizara todo lo del paso anterior (abrir la aplicacion, leer los datos del archivos y los muestre).
Puedo configurar Windows para decirle que la extension .fro se abre con tal programa.
¿Pero dicho programa deberá tener algo programado para que se entieda con windows para que funcione?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Abrir archivo sin abrir la aplicacion

Publicado por xve (1236 intervenciones) el 02/12/2013 21:48:13
Hola Jose, para ello, tendrás que vincular en el Windows tu archivo con tu programa.... y lo que hace el Windows cuando pulsas sobre un archivo vinculado a una aplicación, es ejecutar la aplicación pasandole como parámetro el nombre del archivo.

Por ejemplo si tu aplicación se llama miapp.exe y el archivo pepe.fro esta vinculado a tu aplicación, cuando le des doble clic sera lo mismo que hacer:
miapp.exe pepe.fro

Espero haberme explicado correctamente... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Abrir archivo sin abrir la aplicacion

Publicado por Jose (2 intervenciones) el 02/12/2013 22:41:59
Gracias por la ayuda.
Ya lo he podido hacer.
Tenia que añadir al codigo una lectura de los parametros antes del mainloop() por si se habia abierto el programa pulsando dos veces al archivo.
En este caso obtiene la ruta del archivo como parametro y la utilizo para leerlo y mostrar los valores.
El codigo añadido ha sido:

1
2
3
4
5
6
7
8
import sys
 
#antes del ventana.mainloop()
if len(sys.argv) >= 2:
 
   filename=sys.argv[1]
   if filename!='':
          #aqui el codigo para leer y mostrar los valores del archivo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Abrir archivo sin abrir la aplicacion

Publicado por xve (1236 intervenciones) el 03/12/2013 07:07:23
Gracias por compartirlo Jose.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar