Question

Je voudrais faire glisser mon fichier de données sur un script Python et le laisser traiter le fichier et générer une sortie. Le script Python accepte le nom du fichier de données comme paramètre de ligne de commande, mais l’explorateur Windows ne permet pas au script d’être une cible de dépôt.

Y a-t-il une sorte de configuration à faire quelque part pour ce travail?

Était-ce utile?

La solution

Bien sûr. Extrait d'un article technologique sans esprit appelé & Quot ; Rendre les scripts Python supprimables dans Windows & Quot; , vous pouvez ajouter un gestionnaire de dépôt en ajoutant une clé de registre:

  

Voici & # 8217; s un fichier d'importation de registre que vous pouvez utiliser pour cela. Copier le   suivre dans un fichier .reg et l'exécuter   (Assurez-vous que vos extensions .py   sont mappés vers Python.Fichier).

Windows Registry Editor Version 5.00

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

Cela fait que les scripts Python utilisent le gestionnaire de dépôt WSH, compatible avec les noms de fichiers longs. Pour utiliser le gestionnaire de nom de fichier court, remplacez le GUID par 86C86720-42A0-1069-A2E8-08002B30309D.

Un commentaire dans cet article indique qu'il est possible d'activer le transfert sur & "pas de fichiers Python de console (.pyw) &"; ou " fichiers Python compilés (.pyc) " en utilisant les Python.NoConFile et Python.CompiledFile classes.

Autres conseils

écrire un script shell simple (file.bat)

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

%* représente tous les arguments que vous transmettez au script.

Maintenant, faites glisser & amp; déposez vos fichiers cibles sur l'icône <=>.

Avec un python installé - au moins 2.6.1 - vous pouvez simplement faire glisser un fichier dans 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 déposés.

Essayez d’utiliser py2exe. Utilisez py2exe pour convertir votre script python en un exécutable Windows. Vous devriez alors pouvoir glisser-déposer les fichiers d'entrée dans votre script dans l'Explorateur Windows. 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 plusieurs fichiers de votre script (ou raccourci).

Créez un raccourci du fichier. Si les fichiers .py ne sont pas ouverts par défaut avec Python, 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 cible >

Je publie ce message parce que je ne voulais pas modifier le registre et que la solution de contournement .bat ne fonctionnait pas pour moi.

1). créer un raccourci de .py
2) clic droit - > propriétés
3) préfixe " cible: " avec " python " donc il exécute le .py comme argument dans la commande python
ou
1). créer un fichier .bat
2) python une.py% *

ces versions de raccourci sont les plus simples pour moi de faire ce que je fais
sinon, je le convertirais en un fichier .exe, mais utiliserais plutôt java ou c / c ++

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top