Seite 1 von 1

Python Skripte auf Windows mit Drag'n'Drop ohne GUI-Toolkit

Verfasst: Freitag 19. Oktober 2012, 09:03
von mkesper
Hallo,

Dank stackoverflow.com habe ich mir eine Verknüpfung auf dem Desktop auf folgende CMD-Datei gebastelt:

Code: Alles auswählen

rem@echo off
setlocal ENABLEDELAYEDEXPANSION
rem Take the cmd-line, remove all until the first parameter
set "params=!cmdcmdline:~0,-1!"
set "params=!params:*" =!"
set count=0

rem Split the parameters on spaces but respect the quotes
for %%G IN (!params!) do (
  set /a count+=1
  set "item_!count!=%%~G"
  rem echo !count! %%~G
)

rem list the parameters
for /L %%n in (1,1,!count!) DO (
    echo !item_%%n!
    c:\PYTHON27\PYTHON.exe MEIN_PYTHON_SKRIPT.py !item_%%n!
)

if errorlevel 1 pause

REM ** The exit is important, so the cmd.ex doesn't try to execute commands after ampersands
exit
Damit kann man Dateien auf die Verknüpfung fallenlassen und diese werden als Parameter ans Skript übergeben.
Sehr praktisch, wenn man sich für kleine Skripte nicht mit GUI-Toolkits rumschlagen will.
Unter GNU/Linux vermutlich viel einfacher zu realisieren (wegen mächtigerer Shell).

Re: Python Skripte auf Windows mit Drag'n'Drop ohne GUI-Tool

Verfasst: Dienstag 23. April 2013, 15:07
von AlphaX2
Unter Linux kann man einfach in der Bash mit $1 bis $9 die Parameter aufnehmen und entsprechend weitergeben mit z.B.:

Code: Alles auswählen

python /pfad/zu/meinem/Script/script.py $1
Grundsätzlich kann der Parameter halt alles sein, es kommt an der Stelle dann eher darauf an wie das Script die args dann behandelt. Cool is eben, dass im Linux, die kleine Shell Datei auch ins /usr/bin gelegt werden kann und dann quasi als normales Programm zur Verfügung steht, z.B. ausm Terminal heraus. Wie man das mit drag and drop machen kann, wüsste ich allerdings auf anhieb auch im Linux nicht, bzw. bin ich noch nie auf die Idee gekommen. :K

AlphaX2

Re: Python Skripte auf Windows mit Drag'n'Drop ohne GUI-Tool

Verfasst: Dienstag 23. April 2013, 15:12
von BlackJack
@AlphaX2: Wie unsinnig ist das denn? Du kannst auch einfach *direkt* das Python-Skript ausführen statt eine Datei zu schreiben die das ausführt.

Ob etwas und was unter Linux passiert wenn man Dateien zum Beispiel aus einem Dateimanager zum Beispiel auf ein Icon auf dem Desktop zieht und „fallen” lässt, hängt von allen beteiligten Programmen ab, also Dateimanager und das Programm welches den Desktop-Hintergrund darstellt.

Re: Python Skripte auf Windows mit Drag'n'Drop ohne GUI-Tool

Verfasst: Dienstag 23. April 2013, 23:40
von AlphaX2
Eigentlich war meine Antwort ja auch allgemeiner Natur, wie man es mit der Shell handhabt und dass es dort sehr einfach ist und sich auch leicht weitergeben lässt. Mit Python ist das ganze natürlich nur sehr mässig sinnvoll. :wink:

Edit: Einen Sonderfall wo es sinnvoll ist bildet z.B. das Nokia N9 und MeeGo Harmattan, dort kann es durch den "Schutz-Mechanismus" Aegis teils sinnvoll sein ein Shell-Script zu nehmen. Denn Aegis erkennt Manipulationen an den ausführbaren Dateien und sperrt im Zweifel das Gerät, daher wird oft ein Shell-Script genommen, weil das ja nur die *.py startet, diese dann aber munter weiter modifiziert werden kann, sogar direkt auf dem Gerät.