Frage

Ich möchte meine Datendatei auf ein Python-Skript ziehen und haben es die Datei verarbeiten und Ausgabe erzeugen. Das Python-Skript akzeptiert den Namen der Datendatei als Befehlszeilenparameter, aber Windows Explorer erlaubt es nicht, das Skript ein Drop-Ziel zu sein.

Gibt es irgendeine Art von Konfiguration, die irgendwo für diese Arbeit getan werden muss?

War es hilfreich?

Lösung

Klar. Aus namens „Make Python Scripts abwerfbaren in Windows ", können Sie durch hinzufügen eines Registrierungsschlüssels ein Drop-Handler hinzu:

  

Hier ist eine Registry-Import-Datei, die Sie tun dies nutzen können. Kopiere das   Folgende in eine REG-Datei und führen Sie es   (Stellen Sie sicher, dass Ihre .py Erweiterungen   sind Python.File abgebildet).

Windows Registry Editor Version 5.00

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

Das macht Python-Skripte die WSH-Drop-Handler verwenden, die mit langen Dateinamen kompatibel ist. Um die kurzen Dateinamen-Handler zu verwenden, ersetzen Sie die GUID mit 86C86720-42A0-1069-A2E8-08002B30309D.

Ein Kommentar in diesem Beitrag zeigt an, dass man auf „keine Konsole Python-Dateien (.pyw)“ oder „kompilierten Python-Dateien (.pyc)“ unter Verwendung der Python.NoConFile und Python.CompiledFile Klassen fallen aktivieren können.

Andere Tipps

schreiben Sie einen einfachen Shell-Skript (file.bat)

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

wo %* steht für die alle Argumente an das Skript übergeben.

Jetzt per Drag & Ihre Zieldateien auf dem file.bat Symbol fallen.

Mit einer installierten Python - zumindest 2.6.1 -. Sie können einfach per Drag und jede Datei auf einem Python-Skript fallen

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

sys.argv[0] ist das Skript selbst. sys.argv[n+1] sind die Dateien, die Sie verloren haben.

Versuchen Sie py2exe verwenden. Verwenden Sie py2exe Ihr Python-Skript in eine ausführbare Windows-Datei zu konvertieren. Sie sollten dann in der Lage sein, um Eingabedateien zu Ihrem Skript in Windows Explorer per Drag & Drop. Sie sollten in der Lage, auch eine Verknüpfung auf dem Desktop zu erstellen und Eingabedateien auf ihn fallen. Und wenn Ihr Python-Skript, eine Dateiliste nehmen kann, sollen Sie mehrere Dateien auf Ihrem Skript (oder ein Symbol) in der Lage zu ziehen.

Erstellen Sie eine Verknüpfung der Datei. Für den Fall, Sie haben nicht Python Py Dateien standardmäßig öffnen, in die Eigenschaften der Verknüpfung gehen und das Ziel der Verknüpfung zu bearbeiten, um die Python-Version sind Sie verwenden. Zum Beispiel:

Ziel: C: \ Python26 \ python.exe

Ich bin dieses Posting, weil ich nicht die Registry und die .bat Abhilfe bearbeiten wollte für mich nicht funktioniert hat.

1). Verknüpfung erstellen von Py
2). Rechtsklick -> Eigenschaften
3). Präfix „Ziel:“ mit „Python“ so läuft das Py als Argument in den Python-Befehl
oder in 1). Erstellen Sie eine BAT
2). Python some.py% *

diese Abkürzung Versionen sind für mich einfachsten zu tun, was ich tue
andernfalls ich es auf eine EXE umwandeln würde, würde aber lieber nur Java oder C / C ++ verwenden,

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top