velamentum/source/Android/dateien/Datei.py

72 lines
2.3 KiB
Python
Raw Normal View History

# -*- 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.")