Seite 2 von 2
Verfasst: Freitag 23. April 2010, 11:20
von BlackJack
Was wird denn für `os.path.__file__` ausgegeben? Und welche Python-Version wird benutzt?
Ausserdem sieht mir das extrem nach "Java" aus mit den Klassen. Wahrscheinlich sind die fast alle überflüssig und Funktionen würden ausreichen.
Verfasst: Montag 3. Mai 2010, 07:57
von Frau_U
so wurde jetzt anders gelöst. kA warum das walk nich funktioniert hat...
Code: Alles auswählen
def inhaltVerzeichnis(self, pfad):
for f in os.listdir(pfad):
name = os.path.join(pfad, f)
# print(name)
if os.path.isdir(name):
self.inhaltVerzeichnis(name)
elif os.path.isfile(name) and f.endswith(".png"):
print("PNG-Datei gefunden: " + name)
self.schreibePngOutBefehl(name)
# Diese Methode ist fuer den PngOut Befehl in der CMD zustaendig
# Mit dem Befehl der zB so heissen kann "pngout Bild1.png Bild2.png" wird Bild1.png konvertiert und als Bild2.png gespeichert
def schreibePngOutBefehl(self, dateiname):
try:
self.dateiname = dateiname
print("\n=============================\nFunktion pngout Befehl geschrieben")
pngbefehl = str("pngout " + "\"" + self.dateiname + "\" ")
os.execl("pngout.exe", pngbefehl)
except:
self.schreibeFehlerInStatistik(Exception)
print("fehler bei pngout")
Er soll für jede Datei die er in den Unterordnern findet einen eigenen pngout befehl in die console schreiben.
funktioniert an sich auch. nur bricht er nachdem er das erste bild konvertiert hat ab und beendet das ganze.sollte aber dann den nächsten pngoutbefehl schreiben für die nächste datei die er findet.
kann mir jemand helfen?
Verfasst: Montag 3. Mai 2010, 09:16
von BlackJack
@Frau_U: Die `os.exec*()`-Funktionen ersetzen den aktuellen Prozess mit dem neu gestarteten. An der Stelle wird das Programm das `exec*()` aufruft also beendet.
Und externe Prozesse zu starten gibt es das `subprocess`-Modul.
Und ich möchte noch einmal anmerken, dass mir die Klasse überflüssig erscheint.
Warum wird in `schreibePngOutBefehl()` der Dateiname an das Objekt gebunden!?
Ausserdem machen beide Methoden nicht das was der Name suggeriert.
Verfasst: Montag 3. Mai 2010, 10:48
von Frau_U
Super es funktioniert

Vielen dank!!!! Muss jetzt nur noch die Methoden schreiben, die die Statistik erstellen!
DANKE!!
Verfasst: Donnerstag 6. Mai 2010, 15:42
von Frau_U
So nochmal vielen vielen Dank an alle! Mein Programm ist fertig

Verzeichnis wird durchlaufen, Statistik steht! Alles Super!
Vielen Dank euch allen!!!!!

Verfasst: Donnerstag 6. Mai 2010, 17:15
von Hyperion
Ich würds ja gerne mal sehen...
(-> paste.pocoo.org)