# -*- coding: utf-8 -*- from velamentum.dateien.DateiSystemElement import DateiSystemElement class Datei(DateiSystemElement): """Die Klasse Datei dient dem Umgang mit Dateien. Attribute: --- von 'DateiSystemElement' geerbte --- groesse (Zahl): Die Größe der Datei in Byte. inhalt (Zeichenkette): Der Inhalt der Datei. """ def __init__(self, pPfad, pSofortEinlesen=False): """Konstruktor. Initialisiert die Datei. Parameter: pPfad (Zeichenkette): Der Pfad der Datei. [optional] pSofortEinlesen: Gibt an, ob die Datei direkt bei der Initialisierung eingelesen werden soll. [Standardwert: False] """ DateiSystemElement.__init__(self, pPfad) if(pSofortEinlesen): self.einlesen() def nenneGroesse(self): """Anfrage. Gibt die Größe der Datei in Byte zurück. Parameter: --- keine --- Rückgabe (Zahl): Die Größe der Datei in Byte. """ tSize = 0 if self.istVorhanden(): try: tSize = os.path.getsize(self.pfad) except: print("Fehler. Auf '%s' kann nicht zugegriffen werden." % self._pfad) def einlesen(self): """Auftrag. Liest die Datei in das Attribut 'inhalt' ein. Parameter: --- keine --- """ if self.istVorhanden(): try: tDatei = open(self._pfad, "r") self.inhalt = tDatei.read() tDatei.close() except: print("Fehler. Einlesen von '%s' nicht möglich." % self._pfad) else: self.inhalt = "" def speichern(self): """Auftrag. Schreibt den Wert des Attributs 'inhalt' in die Datei. Parameter: --- keine --- """ try: tDatei = open(self._pfad, "w") tDatei.write(self.inhalt) tDatei.close() except: print("Fehler. Speichern von '%s' nicht möglich." % self._pfad) # Attribute (verdeckte Getter und Setter) groesse = property(nenneGroesse, doc="Die Größe der Datei in Byte.")