problem mit einem kleinen Pythonscript

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
schwedenmann
Beiträge: 5631
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

problem mit einem kleinen Pythonscript

Beitrag von schwedenmann » 03.08.2008 19:21:18

Hallo

Als Vorwort bin abosluter Programmieranfänger und hab mir Pyton als Sprache für Anfänger ausgesucht.
Der Code ist bestimmt grausam, also seid milde gestimmt.
mein Problem: ich hab mir ein Miniprogramm geschrieben
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import time

def menueText():
print '''

"Dies ist mpps (Mein-Python-Povray-Script), Version 0.3"

Sie brauchen nur den Name der zu rendernden Szene ohne pov (also z.B. szene1) eingeben, danach wird
povray mit folgendne Standardwerten gestartet
+w640 +h480 +ft +d +9 +a Eingabe- und Ausgabedateiname sind identisch, Grafikformat der Ausagbe ist png.
Wer die Renderzeit verkürzen wil, kann die +a Option aus Zeile 46 löschen!
'''

menueText()

#Standardwerte definieren: ist als eine Art mppsconfig gedacht
povdir="/home/joerg/povray/" #Quelverzeichis der povrayszenen
ziel="/home/joerg/povray/" #Zielverzeichnis der Povrayszenen
gformat="png" #Standardgrafikformat der Zieldatei
haufl="640" #Standdardauflösung horizontal
vaufl="480" # Standardauflösung vertikal
q="9" #Qualitätsstufe 9 ist Standardwert




#Quelldatei ohne .pov angeben
quell=(raw_input ("Bitte sie den Namen der Povray-Szene ein: "))
quellp=quell +".pov"
#gesamter povraybefehl
w="+w"
h="+h"
ft="+fn"
d="+d"
# Sichkontrolle der Eingaben, kann auch wegfallen da keine Bedeutung für das Programm
#print "Quellverzeichnis : " + povdir
#print "Szenenname : " +quellp
#print "Zielverzeichnis + Dateiname : " +ziel +quell + "." +gformat
#print "Qualitätsstufe :" +q
#print "horizontale Auflösung :" +haufl
#print "vertikale Auflösung :" +vaufl
#print "Grafikformat :" +gformat
befehl= "povray +i%s%s +o%s%s.%s +q%s %s %s%s %s%s %s +a" %(povdir,quellp,ziel,quell,gformat,q,ft,w,haufl,h,vaufl,d,)
#wahr =(raw_input ("sind Ihre Eingaben so richtig? (j/n): "))
#if (wahr) =="j":
os.system (befehl)
# print befehl
# print "Rendern war erfolgreich"
#else:
# print "nochmal von vorn"
Das bei Aufruf von
mpps3a.py im Terminal und dann bei Eingabe von z.B. torpedo (torpedo.pov ist der exakte Dateiname) mir ein Bild im Format jpg in eienm 2. Terminalfenster rendert. Der Parameter dafür ist d unter povray.
Nur das 2. xterm Fenster mt dem gerenderten Bild schließt sich nach Ende des Programms, also nach Ende des Renderprozesses. Kann man dies verhindern i Pythonprogramm ?

mfg
schwedenmann

Benutzeravatar
Kalimac
Beiträge: 293
Registriert: 25.05.2004 13:19:48
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wetterau
Kontaktdaten:

Re: problem mit einem kleinen Pythonscript

Beitrag von Kalimac » 03.08.2008 21:58:23

Hallo,

soweit ich das verstanden habe, öffnet Povray das extra xterm und schließt es wieder. Nach meiner Auffassung kann das Python-Skript daran nichts ändern. Da dann aber ein jpg erstellt ist, könntest Du das durch einen zweiten Befehl, der z.B. qiv aufruft, anzeigen lassen.

Ich selbst benutze auch Python, aber nicht für diesen Fall, bei dem nur ein Programm gestartet wird und nichts "programmiert" wird. Dafür empfehle ich Shell-Skripte! Aber das ändert auch nichts an Deinem Problem :-( .

Schönen Abend,
Cornell
Die technische Evolution ist die Wirkung eines geistigen Fortschritts gewesen und könnte nun zu seiner Ursache werden.
- Jacques Neirynck -

Antworten