Seite 1 von 1

Dateienhändel unlösbar ?

Verfasst: Donnerstag 13. August 2009, 14:05
von Bluekobalt
Hallo im Kompetenzzentrum,

ich möchte gerne für den Aufruf einer exe eine Argumentenliste in Form einer Template Datei mitgeben.

Das Problem ist, das diese Datei trotz des close Befehls, erst nachdem ich Python schließe, da ist.
Vorher ist Sie leer.

Code: Alles auswählen

def write(self):
        self.fobj=open(self.PFAD_TEMPLATE,"w")
        for paar in self.tmpl_dict:
            inputtype = type (self.tmpl_dict[paar])
            if inputtype == str:
                self.fobj.write  ("%-50.50s%s\n"   % (paar, self.tmpl_dict[paar]))
            elif inputtype == int:
                 self.fobj.write  ("%-50.50s%i\n"  % (paar,self.tmpl_dict[paar]))

        self.fobj.close 

Verfasst: Donnerstag 13. August 2009, 14:07
von Defnull
fobj.close ist eine Funktion. Du musst sie schon aufrufen ;)

Verfasst: Donnerstag 13. August 2009, 14:14
von Bluekobalt
Defnull hat geschrieben:fobj.close ist eine Funktion. Du musst sie schon aufrufen ;)
*mitderflachenhandgegendiestirnklatsch*

Danke, ich wusste ja es ist unlösbar :wink:

Verfasst: Donnerstag 13. August 2009, 14:40
von cofi
Im Uebrigen ist deine Typpruefung unnoetig und fehlerhaft.

Code: Alles auswählen

self.fobj.write  ("%-50.50s%s\n"   % (paar, self.tmpl_dict[paar]))
reicht. Ein ``%s`` nimmt alles.

Typpruefungen sollten aber mit ``isinstance`` oder ``issubclass`` gemacht werden, um auch abgeleitete Typen zu erfassen.