Arrastre y suelte en el script Python en el Explorador de Windows

Me gustaría arrastrar y soltar mi archivo de datos en un script de Python y hacer que procese el archivo y genere la salida. La secuencia de comandos de Python acepta el nombre del archivo de datos como un parámetro de línea de comandos, pero el Explorador de Windows no permite que la secuencia de comandos sea un destino de colocación.

¿Hay algún tipo de configuración que deba hacerse en algún lugar para este trabajo?

Related of "Arrastre y suelte en el script Python en el Explorador de Windows"

Por supuesto. Desde un artículo de tecnología sin sentido llamado “Hacer que los scripts de Python se puedan soltar en Windows” , puede agregar un controlador de caída agregando una clave de registro:

Aquí hay un archivo de importación de registro que puede utilizar para hacer esto. Copie lo siguiente en un archivo .reg y ejecútelo (asegúrese de que sus extensiones .py estén asignadas a Python.File).

Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Python.File\shellex\DropHandler] @="{60254CA5-953B-11CF-8C96-00AA00B8708C}" 

Esto hace que los scripts de Python utilicen el controlador de caída WSH, que es compatible con nombres de archivo largos. Para usar el controlador de nombre de archivo corto, reemplace el GUID con 86C86720-42A0-1069-A2E8-08002B30309D .

Un comentario en esa publicación indica que se puede habilitar la eliminación de “no archivos de consola Python ( .pyw )” o “archivos comstackdos de Python ( .pyc )” utilizando las clases Python.NoConFile y Python.CompiledFile .

escribir un script de shell simple ( file.bat )

 "C:\python27\python.exe" yourprogram.py %* 

donde %* representa todos los argumentos que pasa al script.

Ahora arrastre y suelte sus archivos de destino en el icono file.bat .

Con un python instalado, al menos 2.6.1, puedes arrastrar y soltar cualquier archivo en un script de python.

 import sys droppedFile = sys.argv[1] print droppedFile 

sys.argv[0] es el script en sí mismo. sys.argv[n+1] son los archivos que ha eliminado.

Trate de usar py2exe. Use py2exe para convertir su script de Python en un ejecutable de Windows. Entonces deberías poder arrastrar y soltar archivos de entrada a tu script en el Explorador de Windows. También debe poder crear un acceso directo en su escritorio y colocar archivos de entrada en él. Y si su secuencia de comandos de Python puede tomar una lista de archivos, debería poder arrastrar y soltar múltiples archivos en su secuencia de comandos (o acceso directo).

Crear un acceso directo del archivo. En caso de que no tenga los archivos .py abiertos de python de forma predeterminada, acceda a las propiedades del acceso directo y edite el destino del acceso directo para incluir la versión de python que está utilizando. Por ejemplo:

Destino: C: \ Python26 \ python.exe

Estoy publicando esto porque no quería editar el Registro y la solución .bat no funcionó para mí.

1). crear acceso directo de .py
2). clic derecho -> propiedades
3). el prefijo “Target:” con “python” para que ejecute el .py como un argumento en el comando de python
o
1). crear un .bat
2). python some.py% *

estas versiones de acceso directo son las más simples para mí hacer lo que estoy haciendo
de lo contrario, lo convertiría en un archivo .exe, pero preferiría usar java o c / c ++