Saltar al contenido

Asociar la extensión de archivo a la secuencia de comandos de Python, de modo que pueda abrir el archivo haciendo doble clic en Windows

Solución:

Esta no es realmente una pregunta de programación, pero lo que debe hacer es averiguar cómo obtener el ejecutable de Python en la clave de registro que abre su archivo de datos.

Por ejemplo, creé un pequeño script de Python llamado opener.py que se ve así:

import sys
print(sys.argv)
input()

Entonces creé un testfile.foo y usó el botón “cambiar” en el cuadro de diálogo de propiedades de ese archivo para elegir opener.py. (Puede hacer esto si hace clic en Examinar y cambia el filtro de archivo del cuadro de diálogo Abrir con a “Todos los archivos”).

Por supuesto, esto no funcionó (como notó). Así que abrí regedit y buscado opener.py y lo encontró en la siguiente clave de registro:

HKEY_CURRENT_USERSoftwareClassesApplicationsopener.pyshellopencommand

El valor predeterminado de esta clave era "C:opener.py" %1. Lo cambié a python "C:opener.py" %1. ¡Funcionó!

En pocas palabras, para hacer esto correctamente, debe editar el registro de manera personalizada. En realidad, configurar la asociación de archivos es más complejo que simplemente editar esa clave (también debe indicar que .foo está asociado con opener.py).

Un enfoque alternativo sería convertir su secuencia de comandos de Python en un ejecutable independiente usando una de las varias herramientas disponibles para ese propósito, o escribir un pequeño ejecutable en C que inicie la secuencia de comandos.

  1. presione la tecla de Windows
  2. escriba cmd
  3. haga clic derecho en el resultado y elija “ejecutar como administrador”
  4. assoc .foo=foofile
  5. ftype foofile="C:Users<user>AppDataLocalProgramsPythonPYTHON~1python.exe" "C:<whatever>fooOpener.py" "%1" %*

Usar pythonw.exe si es un .pyw archivo (para evitar que se genere una ventana de cmd).

Si desea utilizar un tipo de archivo existente, puede encontrar su alias sin asignar nada. Por ejemplo, assoc .txt devoluciones .txt=txtfile.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *