dateinamen beibehalten, dateiendung verändern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

So, lustige überschrift, aber besseres fiel mir nicht ein :P
mein problem ist folgendes:
hab ein programm, was aus vektor grafiken über ghostscript
jpgs machen soll. dazu brauch ich die dateiendung und das, was davor steht.
die endung soll geändert werden, was kein problem ist, aber wie komme ich an den dateinamen ohne die endung ran? habe es mit split versucht, doch nun weiss ich nicht, wie ich den namen in eine variable kriege :>

Code: Alles auswählen

#Python

#Eps konvertieren
import string, os, re

def changeDir():
    for file in os.listdir("c:\convert"):
        a = file
        b = os.path.splitext(a)
        print b
        gh = "C:\gs\gs8.13\bin\gswin32.exe"
        befehl = "-dSAFER -dBATCH -dNOPAUSE -dNOPAGEPROMPT -dSTRICT -dEPSCrop -dQUIET -sDEVICE=jpeg -sOutputFile=DATEI.jpg DATEI.eps -c quit"
        os.system(gh+befehl)

def main():
    changeDir()
 
if __name__ == "__main__":
    main()
ausgabe von b ist zur zeit so:
('OVAP10B752028B01A3V', '.eps')
('OVAP10B752028B02A8V', '.eps')
('OVAP10B752028B05V', '.eps')
('OVAP10B752028B06A2V', '.eps')
('OVAP10B752028B07A8V', '.eps')
wie komme ich nun an OVAP10B etc ran :>
mfg prosta
Vortec
User
Beiträge: 52
Registriert: Dienstag 10. Dezember 2002, 11:54

Dateiname: b[0]
Endung: b[1]
| [url=http://www.sourceforge.net/projects/propolice/]propolice[/url] | [url=http://del.icio.us/vortec/]bookmarks[/url] | [url=http://www.BlowIRC.net/]irc[/url] | [url=irc://irc.BlowIRC.net/python]#python[/url] |
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

wah das war zu einfach für mich ^^
muchas gracias vortec :D
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

ok weiteres problem.

Code: Alles auswählen

#Python

#Eps konvertieren
import string, os, re

def changeDir():
    for file in os.listdir("c:\convert"):
        a = file
        b = os.path.splitext(a)
        gh = "C:\gs\gs8.13\bin\gswin32.exe"
        befehl = " -dSAFER -dBATCH -dNOPAUSE -dNOPAGEPROMPT -dSTRICT -dEPSCrop -dQUIET -sDEVICE=jpeg -sOutputFile="+b[0]+".jpg "+b[0]+".eps -c quit"
        os.system(gh + befehl)

def main():
    changeDir()
       
if __name__ == "__main__":
    main()
wenn ich das programm starte kommt:
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.

mir ist klar, das dies direkt ein fehler vom ghostscript ist, aber
der fehler entsteht durch das python script. ich hab allerdings keine
ahnung was an dem code falsch ist,. bräuchte wieder einmal hilfe :/
*meine vermutung, das +b[0]+ scheint falsch zu sein :>
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hi prOstAta,

mach mal ein print befehl nach der Zeile wo du den Ghoststriptaufruf zusammenbaust, also vor der Zeile mit os.system(...).


Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

hu dookie
er gibt dort alles aus, sei es ne variable oder normalen text.
2. vermutung, das os.system command funktioniert anders oO
denn wenn ich os.system(gh) benutzen will, macht er auch nichts, obwohl
er doch die exe öffnen sollte oder irre ich da?
ok problem waren die \ irgendwie... habe einfach überall \\
geschrieben und es ging. danke an kk (irc :P)
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

mit dem print hättest du die \\ wohl gesehen \ ist bei Python ja das escape Zeichen z.B. \t oder \n darum macht er bei \ ein \\ draus bei normalen strings.


Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
Antworten