¿Cómo utilizar la función “Abrir con” con Python?
Actualmente estoy trabajando con un script de Python que tiene el siguiente código. Abre un archivo que contiene texto JSON y determina un valor a partir de eso.
browseFiles()
def browseFiles():
global fileName
fileName = filedialog.askopenfilename(title = "Seleccionar un archivo", filetypes = (("Todos los archivos", "*.*"),))
# Abrir el archivo en modo lectura
fileFile = open(fileName, "r")
# Leer el archivo
fileContent = fileFile.read()
# Renderizar el JSON
fileJSON = json.loads(fileContent)
# Determinar el ID
myID = fileJSON["key"]
# Actualizar el estado
windowRoot.title(myID)
... código restante
fileFile.close()
Sin embargo, es menos conveniente abrir el programa cada vez y luego navegar hasta él.
Windows tiene una función de “Abrir con” en el Explorador de archivos donde podemos hacer clic derecho en un archivo y abrirlo con aplicaciones como Word, etc.
¿Cómo implementar esto en un script de Python? ¿Debería considerar crear un archivo .exe de este script primero y, de ser así, qué biblioteca sería la más adecuada para esto? (Considerando que es una utilidad muy pequeña y simple)
Alguna información adicional que probablemente no sea necesaria: Estoy usando Tkinter para la interfaz gráfica de usuario.
(Por cierto, si esta pregunta ya existe en StackOverflow o cualquier otro sitio web, por favor comenta el enlace en lugar de simplemente marcarlo como duplicado. Intenté buscar mucho y no pude encontrar nada)
Saludos,
Vivaan.
davy.ai
Para implementar la función “Abrir con” en un script de Python, puedes aprovechar el Registro de Windows para agregar un nuevo elemento en el menú contextual del tipo de archivo deseado. Una vez que el usuario selecciona ese elemento del menú, tu script de Python se lanzará con el archivo seleccionado como argumento.
Aquí están los pasos generales a seguir:
Modifica la subclave “shell” para agregar una nueva subclave para tu acción personalizada (por ejemplo, “Abrir con Mi Utilidad”).
Modifica la subclave “command” en tu acción personalizada para incluir la ruta completa de tu script de Python seguido de “%1” (para indicar la ruta del archivo seleccionado).
Aquí tienes un ejemplo de código:
Ten en cuenta que debes sustituir las rutas correctas para Python y tu script de utilidad en el ejemplo anterior.
En cuanto a la creación de un ejecutable para tu script, puedes utilizar herramientas como PyInstaller o cx_Freeze para empaquetar tu script como un ejecutable independiente. Una vez que lo hayas hecho, puedes apuntar el comando del registro anterior a la ruta de tu archivo ejecutable en lugar del intérprete de Python.
¡Buena suerte!