@peterpy: wenn Du schon ein so schönes Wort wie `oberverzeichnis` erfindest, dann kürze das nicht mit `ovz` ab.
Für das Basisverzeichnis kennt os.path.basename, `split` ist falsch.
Pfade setzt man auch nicht mit dem veralteten %-Operator zusammen, sondern benutzt os.path.join, oder eigentlich gar nicht mehr os.path sondern ersetzt alles durch pathlib.Path.
Woher weißt Du, dass es im Oberverzeichnis einen Unterordner mit dem Namen Temp gibt?
Die Klasse ist eigentlich keine Klasse, das hört man schon am Namen: `Blatt_drucken` ist eine Tätigkeit also eine Funktion.
Statt das PS-Ergebnis in eine Datei zu schreiben, kann man es auch direkt per Stdin an ps2pdf schicken.
Wenn Du eigentlich nichts mit dem Popen-Objekt machst, kannst Du auch `subprocess.run` benutzen.
Code: Alles auswählen
import subprocess
def blatt_drucken(fenster, ziel):
postscript = fenster.postscript(colormode='color', x=-25, y=25, height="210m", width="297m", rotate=True)
subprocess.run(["ps2pdf", "-sPAPERSIZE=a4", "-sBORDERWIDTH=1000", "-", ziel], input=postscript)