ImageMagic convert popen
Daran ist "subprocess" nicht schuld. "subprocess" manipuliert nicht am übergebenen Kommando herum, schließlich kann das Modul gar nicht wissen, dass ein bestimmtes Element einen Pfad darstellen soll. Es übergibt alle Daten unverändert an den Prozess. Du musst schon selbst dafür sorgen, dass "workpath" korrekte Pfadtrenner enthält.
-
- User
- Beiträge: 37
- Registriert: Samstag 15. August 2009, 04:36
Code: Alles auswählen
if aktsys == 'win':
workpath.replace("/","\\")
print workpath
Code: Alles auswählen
C:\Dokumente und Einstellungen\Lena\Desktop\aaaaa\
Code: Alles auswählen
convert "C:\Dokumente und Einstellungen\Lena\Desktop\aaaaa\test_1.JPG" -resize 3
20x "C:\Dokumente und Einstellungen\Lena\Desktop\aaaaa\test_1\thumb_test_1.JPG"
Unzulässiger Parameter - und

LG SB
"os.sep" existiert. Außerdem halte ich diese Manipulation für unglücklich. Du solltest lieber von vorne herein dafür sorgen, dass "workpath" korrekt in das Programm "hineinkommt".
Die Fehlermeldung hat auch eher nichts mit Leerzeichen zu tun, sondern wohl damit, dass man unter Windows Optionen mit "/" und nicht mit "-" bezeichnet. Es müsste wohl eher "/resize" heißen.
Die Fehlermeldung hat auch eher nichts mit Leerzeichen zu tun, sondern wohl damit, dass man unter Windows Optionen mit "/" und nicht mit "-" bezeichnet. Es müsste wohl eher "/resize" heißen.
-
- User
- Beiträge: 37
- Registriert: Samstag 15. August 2009, 04:36
@lunar
Soll heißen statt
eher
um es einmal durch das path Modul zu jagen???
Übrigens: Wenn ich shell=True setze funktioniert es wieder, aber genau das will ich ja vermeiden.
Also die Parameterübergabe '-' ist auch unter Win scheinbar richtig
LG SB
Soll heißen statt
Code: Alles auswählen
temp = tkFileDialog.askdirectory(initialdir = workpath, title='Wähle den Arbeitsordner')
if temp != ():
workpath = str(temp) + '/'
os.chdir(workpath)
Code: Alles auswählen
temp = tkFileDialog.askdirectory(initialdir = workpath, title='Wähle den Arbeitsordner')
if temp != ():
workpath = os.path.abspath(str(temp) + '/')
os.chdir(workpath)
Übrigens: Wenn ich shell=True setze funktioniert es wieder, aber genau das will ich ja vermeiden.
Also die Parameterübergabe '-' ist auch unter Win scheinbar richtig
LG SB
Zuletzt geändert von Shining-Blue am Dienstag 25. August 2009, 14:13, insgesamt 1-mal geändert.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wobei das ja nur DOS-Konvention (oder gar CP/M) ist und das Programm ja jedes Beliebige Zeichen für Optionen benutzen kann. Ich habe zwar kein Windows, aber ich wäre verwundert wenn der Windows-Port von ImageMagick statt "-" wie unter Unices plötzlich "/" verwendet - das habe ich (damals) bei keinem einzigen Windows-Port jemals gesehen und ich hatte immer eine Menge Unix-Software auf dem System.lunar hat geschrieben:Die Fehlermeldung hat auch eher nichts mit Leerzeichen zu tun, sondern wohl damit, dass man unter Windows Optionen mit "/" und nicht mit "-" bezeichnet. Es müsste wohl eher "/resize" heißen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 37
- Registriert: Samstag 15. August 2009, 04:36
@Leonidas
Ich glaub' es nicht - da kennt wer noch ChaosPerModem, den von Billiboy geklauten Urvater von DOSmußdochnichsein
Ich glaub' es nicht - da kennt wer noch ChaosPerModem, den von Billiboy geklauten Urvater von DOSmußdochnichsein