Streifzüge durch einige Macintosh Library Module (2)
Neben den im letzten Artikel angesprochenen einfachen Dialogen benötigt man häufig auch Dialoge, die den Benutzer nach Dateien oder Ordnern suchen lassen. Diese Dialoge werden in dem Modul macfs zur Verfügung gestellt. Für alle nachfolgend aufgeführten Beispiele gilt daher, daß
>>> import macfs
vorher aufgerufen wurde.
Das FSSpec Objekt
Macintosh-spezifisch erwarten viele der Funktionen ein FSSpec-Objekt als Parameter. Dies ist im Prinzip eine Art 3-Tupel mit (wdRefNum, parID, name), das im Dateisystem des Finders eine Datei eindeutig beschreibt. Das Objekt besitzt einige Methoden, die den Umgang mit ihm vereinfachen. Die wichtigsten sind:
as_pathname()as_tuple()GetCreatorType()SetCreatorFileType(creator, type)GetDates()SetDates(crdate, moddate, backupdate)time einsetzen.Die File-Dialoge
Wann immer die folgenden Methoden ein file-Argument benötigen, kann entweder ein vollständiger oder ein relativer Pfad zu einer Datei, ein FSSpec-Objekt oder ein 3-Tupel (wdRefNum, parID, name) angeegeben werden.
StandardGetFile([type, ...])>>> fss, ok = macfs.StandardGetFile("TEXT")PromptGetFile(prompt [, type, ...])StandardGetFile(), nur daß noch ein String mit übergeben werden kann, der oben in der Dialogbox zusätzlich angezeigt wird.import macfs
fss, ok = macfs.StandardGetFile("TEXT")
if ok:
test = open(fss.as_pathname(), "r")
s = test.read()
print s
test.close()
else:
print "Keine Datei ausgesucht."as_pathname() leicht aus einem RSS-Objekt ein Python-File-Objekt erzeugen.StandardPutFile(prompt [, default])>>> fss, ok = macfs.StandardPutFile("Wohin speichern?", "name.txt")GetFile()-Boxen die beiden Auswahlfensterchen.import macfs
fss, ok = macfs.StandardPutFile("Wohin speichern?", "name.txt")
if ok:
test = open(fss.as_pathname(), "w")
test.write("Dies ist ein Test!")
test.flush()
else:
print "Keine Datei ausgesucht."test.close() geschlossen wird, ist eine Geschmacksfrage -- in der Regel übernimmt Python das Schließen der Dateien. Ich neige jedoch dazu, Dateien, die ich geöffnet habe, auch wieder ordnungsgemäß zu schließen.GetDirectory([prompt])Das sind die für den Alltagsgebrauch wichtigsten Dialoge aus den Macintosh Library Modulen. Die Module besitzen natürlich noch mehr Funktionen, z.B. um mit Aliasen umzugehen. Die Dokumentation auf den Seiten von Python.org gibt darüber erschöpfend Auskunft.
Auch diese Module funktionieren sowohl in der MacPython-IDE als auch im Interpreter.
Letzte Änderung: 16.08.2010; 16:10:19 Uhr | © Copyright: 2000 - 2010 by Kantel-Chaos-Team | Kontakt: der@schockwellenreiter.de
frontierLogo picture Made with a Mac Weblog Commenting and Trackback by HaloScan.com CC-Logo Site Meter