Glisser-déposer sur le script Python dans L'Explorateur Windows

je voudrais faire glisser et déposer mon fichier de données sur un script Python et lui faire traiter le fichier et générer la sortie. Le script Python accepte le nom du fichier de données comme paramètre de ligne de commande, mais Windows Explorer ne permet pas au script d'être une cible de drop.

Est-il une sorte de configuration qui doit être fait quelque part pour ce travail?

44
demandé sur Peter Mortensen 2008-09-27 07:02:30

5 réponses

bien sûr. D'un article intitulé" Make Python Scripts Droppable in Windows " , vous pouvez ajouter un drop handler en ajoutant une clé de registre:

voici un fichier d'importation de Registre que vous pouvez utiliser pour faire ceci. Copie de la suivantes dans un .fichier reg et l'exécuter (Assurez-vous que votre .extensions des AP sont mappés en Python.Fichier.)

Windows Registry Editor Version 5.00

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

cela rend les scripts Python WSH drop handler, qui est compatible avec les longs noms de fichiers. Pour utiliser le gestionnaire de nom de fichier court, remplacer la gu ID par 86C86720-42A0-1069-A2E8-08002B30309D .

un commentaire dans ce post indique qu'on peut activer la suppression de "no console Python files ( .pyw ) "ou "compiled Python files ( .pyc ) "en utilisant les classes Python.NoConFile et Python.CompiledFile .

48
répondu Blair Conrad 2008-09-28 11:19:47

écrire un simple script shell (fichier.chauve-souris)

"c:\Python27\python.exe" yourprogram.py %1

où %1 représente le premier argument que vous passez au script.

maintenant faire glisser%déposer vos fichiers cibles sur le fichier.chauve-souris de l'icône.

25
répondu marco 2012-04-20 12:21:36

Avec un installé python - au moins 2.6.1 - vous pouvez simplement faire glisser et déposer n'importe quel fichier sur un script python.

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

sys.argv[0] est le script lui-même. sys.argv[n+1] sont les fichiers que vous avez abandonné.

6
répondu halanson 2017-08-10 15:04:26

essayez py2exe. Utilisez py2exe pour convertir votre script python en un exécutable windows. Vous devriez alors être en mesure de faire glisser et déposer des fichiers d'entrée à votre script dans Windows Explorer. Vous devriez également pouvoir créer un raccourci sur votre bureau et y déposer des fichiers d'entrée. Et si votre script python peut prendre une liste de fichiers, vous devriez pouvoir faire glisser et déposer plusieurs fichiers sur votre script (ou raccourci).

5
répondu Evan 2010-12-20 02:47:21

Créer un raccourci du fichier. Au cas où vous n'auriez pas python ouvert .les fichiers py par défaut, allez dans les propriétés du raccourci et modifiez la cible du raccourci pour inclure la version python que vous utilisez. Par exemple:

Cible: C:\Python26\python.exe < raccourci chemin de la cible >

je poste ceci parce que je ne voulais pas éditer le registre et le .le contournement par la chauve-souris n'a pas fonctionné pour moi.

1
répondu horta 2014-02-17 22:23:58