253
9.1
Files
9.1.3 Ein File-Objekt erzeugen
Ein File-Objekt, das heißt eine Instanz der Klasse File, wird durch einen Aufruf der Stan-
dard-Funktion
open() erzeugt. Das allgemeine Format eines Aufrufs dieser Funktion lautet
(etwas vereinfacht):
Die Funktion öffnet eine Datei und liefert ein neues File-Objekt, das mit dieser Datei verknüpft
ist. Der Parameter
filename enthält den Pfad zur Datei. Der Pfad besteht aus zwei Teilen:
Bezeichnung des Verzeichnisses, in dem sich die Datei befindet (z.B. /projekt/daten/)
Dateiname (z.B. daten.txt)
Der optionale Parameter
mode beschreibt, in welchem Modus die Datei geöffnet werden soll.
Tabelle 9.1 gibt einen Überblick über (einige) mögliche Werte des
mode-Parameters.
Wenn die Angabe des Modus fehlt, wird der Lesemodus (
r) als Voreinstellung verwendet.
Probieren Sie das folgende Beispiel im interaktiven Modus aus.
Im ersten Kommando wurde die Datei mit dem Pfad
/Python35/readme.txt zum Lesen
geöffnet. Das zweite Kommando sorgte dafür, dass der Inhalt der Datei ausgegeben wurde.
open(filename[, mode [,encoding]])
mode Erklärung
r Datei ist ausschließlich zum Lesen bestimmt. Falls die Datei nicht existiert, gibt es
beim Versuch, sie zu öffnen, eine Fehlermeldung.
w Falls eine Datei mit dem angegebenen Namen existiert, wird ihre Länge auf null
gesetzt und sie wird neu beschrieben. Andernfalls wird eine neue Datei zum
Schreiben angelegt.
a Datei ist zum Anhängen neuer Daten bestimmt. Der bisherige Inhalt wird nicht
zerstört, sondern es wird am Ende weiter geschrieben.
rb Die Datei wird im Binärmodus zum Lesen geöffnet. Das heißt, beim Lesen werden
Bytestrings zurückgegeben.
wb Die Datei wird im Binärmodus zum Schreiben geöffnet. Das heißt, es können nur
Bytestrings (und keine normalen Strings) auf das File geschrieben werden.
Tabelle 9.1: Modi einer Datei
>>> daten = open('/Python35/readme.txt')
>>> print(daten.read())
This is Python version 3.5.2
============================
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011,
2012, 2013, 2014, 2015, 2016
Python Software Foundation. All rights reserved.
...

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.