NBV02_Lesen_und_Schreiben_von_Dateien

(c) 2019/2020 Hochschule Augsburg - Fakultät für Informatik - Prof.Dr.Nik Klever

Schreiben von Dateien

open()

In [1]:
wd = open("test.txt","w")
In [2]:
wd.write("Dies ist eine Zeile")
Out[2]:
19
In [3]:
wd.write("und dies ist eine weitere Zeile")
Out[3]:
31
In [4]:
wd.close()
In [5]:
print("Dies ist eine Zeile")
print("und dies ist eine weitere Zeile")
Dies ist eine Zeile
und dies ist eine weitere Zeile
In [6]:
wd = open("test2.txt","w")
wd.write("Dies ist eine Zeile\n")
wd.write("und dies ist eine weitere Zeile\n")
wd.close()
In [7]:
a = """Dies ist ein Text
mit mehreren Zeilen
und auch einer

Leerzeile"""
In [8]:
wd = open("test2.txt","w")
wd.write(a)
wd.close()
In [9]:
wd = open("test.txt","a")
wd.write(a)
wd.close()
In [10]:
test = open("test.txt","w")
test.write(a)
test.close()

Lesen von Dateien

In [11]:
rd = open("test.txt","r")
b = rd.read()
rd.close()
b
Out[11]:
'Dies ist ein Text\nmit mehreren Zeilen\nund auch einer\n\nLeerzeile'
In [12]:
print(b)
Dies ist ein Text
mit mehreren Zeilen
und auch einer

Leerzeile
In [13]:
rd = open("FakeAdressen.txt")
for zeile in rd:
    print(zeile)
rd.close()
M,Mathias,Zimmer,Buelowstrasse 82,Oberrod,56479,MathiasZimmer@gmx.de,02664 99 74 68,27.03.82,50.530761,7.980033

M,Torsten,Müller,Paderborner Strasse 23,Erdweg,85253,TorstenMuller@kabel.de,08254 27 03 80,31.05.91,48.310973,11.335096

M,Thomas,Neudorf,Fontenay 41,Kronach,96313,ThomasNeudorf@gmx.de,09261 66 53 16,07.07.46,50.273421,11.407716

W,Angelika,Nussbaum,An Der Urania 60,Husum,25805,AngelikaNussbaum@rhyta.com,04841 42 23 87,16.08.32,54.561832,9.151079

M,Jonas,Weissmüller,Sonnenallee 34,Augsburg,86044,JonasWeissmuller@telekom.de,0821 51 24 61,13.04.68,48.353975,10.910581

M,Stefan,Busch,Alt-Moabit 22,Wurzen,4801,StefanBusch@1und1.de,03425 65 19 75,28.06.56,51.380197,12.837981

M,Felix,Herz,Kastanienallee 98,Osteel,26529,FelixHerz@1und1.de,04934 60 24 76,08.12.97,53.450546,7.20508

W,Martina,Bumgarner,Hardenbergstraße 50,Rehweiler,66907,MartinaBumgarner@vodafon.de,06383 47 26 81,15.02.46,49.480584,7.435079

W,Doreen,Hoch,Straße der Pariser Kommune 44,Köln Rodenkirchen,50996,DoreenHoch@rhyta.com,0221 36 87 52,10.08.96,50.811933,7.040219

M,Steffen,Hueber,Frankfurter Allee 2,Karlsruhe Daxlanden,76189,SteffenHueber@congstar.de,0721 23 96 58,22.04.79,49.090142,8.397664

M,Steffen,Mayer,Kurfürstenstraße 8,Eschenbach,92671,SteffenMayer@kabel.de,07161 56 96 94,27.01.81,48.676098,9.628519

M,Kevin,Kastner,Charlottenstrasse 48,Cottbus,3050,KevinKastner@gmx.de,0355 58 83 10,19.02.48,51.733721,14.431042

W,Susanne,Weissmüller,Rosenstrasse 3,München,81675,SusanneWeissmuller@telekom.de,089 70 86 18,11.11.57,48.220319,11.695522

M,Marcel,Boehm,Alter Wall 43,Gollhofen,97258,MarcelBoehm@cuvox.de,09339 89 94 42,31.12.78,49.52431,10.159784

M,Michael,Konig,Inge Beisheim Platz 40,Kirchgellersen,21394,MichaelKonig@cuvox.de,04135 75 33 09,14.11.35,53.277876,10.155416

W,Johanna,Boehm,Genslerstraße 91,Berlin Schöneberg,10825,JohannaBoehm@vodafon.de,030 75 91 23,17.02.40,52.541938,13.395334

W,Daniela,Hartmann,Gubener Str. 9,Rosenheim,83026,DanielaHartmann@web.de,08031 69 53 65,25.06.34,47.833694,12.01175

W,Leonie,Klug,Rohrdamm 59,Bad Salzuflen Holzhausen,32108,LeonieKlug@cuvox.de,05208 70 42 84,03.02.70,52.049233,8.826827

M,Florian,Jung,Gotzkowskystrasse 55,Dohr,56812,FlorianJung@rhyta.com,02671 63 54 64,28.02.93,50.092006,7.101282

M,Martin,Gersten,Rudower Strasse 18,Lascheid,54597,MartinGersten@telekom.de,06556 10 73 02,16.10.70,50.28629,6.515705

W,Heike,Herman,Messedamm 93,Dresden,1131,HeikeHerman@kabel.de,0351 74 61 85,08.03.74,51.086195,13.790194

W,Sarah,Köhler,Invalidenstrasse 96,Ruppertsberg,67152,SarahKoehler@web.de,06326 93 97 78,02.06.93,49.333561,8.207738

W,Sabrina,Drescher,Guentzelstrasse 6,Ebersburg,36157,SabrinaDrescher@telekom.de,06656 25 78 89,06.02.91,50.552373,9.781745

M,Wolfgang,Gottschalk,Brandenburgische Str. 16,Erlenbach,63902,WolfgangGottschalk@web.de,07132 16 70 86,11.12.31,47.957794,8.086371

M,Wolfgang,Fisher,Schönhauser Allee 99,Emmendingen,79312,WolfgangFisher@gmx.de,07641 27 41 15,26.10.75,48.101633,7.770728

M,Daniel,Koertig,Luetzowplatz 48,Ehlenz,54636,DanielKoertig@kabel.de,06569 99 21 64,31.10.53,50.06716,6.342487

W,Annett,Boehm,Budapester Strasse 93,Gyhum,27404,AnnettBoehm@kabel.de,04288 48 86 09,21.07.44,53.245072,9.258132

M,Kristian,Gerber,Reeperbahn 64,Zwickau,8066,KristianGerber@web.de,037607 48 54,30.07.74,50.778603,12.566214

M,Thorsten,Kunze,Straße der Pariser Kommune 71,Köln Mülheim,51063,ThorstenKunze@cuvox.de,0221 61 98 68,06.07.77,50.912801,6.933286

W,Christine,Beich,Straße der Pariser Kommune 16,Köln Kalk,51109,ChristineBeich@gmx.de,0221 41 72 22,21.01.93,51.019736,7.099108

M,Mario,Farber,Invalidenstrasse 86,Hainfeld,76835,MarioFarber@telekom.de,06323 84 88 31,12.11.42,49.253485,8.167636

W,Laura,Gerste,Bayreuther Strasse 18,Reutlingen Gönningen,72770,LauraGerste@gustr.com,071 33 62 11,27.10.78,48.395319,9.086912

M,Ralf,Schröder,Hardenbergstraße 29,Schwanheim,76848,RalfSchroder@congstar.de,06392 21 03 75,06.12.66,49.274311,7.876453

M,Jörg,Hertzog,An der Alster 23,Krakow,18290,JorgHertzog@rhyta.com,038451 71 69,22.04.82,53.629202,12.326508

M,Maximilian,Abt,Landsberger Allee 27,München,80324,MaximilianAbt@congstar.de,089 10 64 76,10.01.71,48.051394,11.484411

M,Dennis,Nacht,Nuernbergerstrasse 15,Eutin,23693,DennisNacht@kabel.de,04521 93 53 33,05.08.41,54.158818,10.688799

M,Torsten,Weiss,Landsberger Allee 38,München,80602,TorstenWeiss@rhyta.com,089 96 75 89,21.03.45,48.076066,11.622793

W,Leonie,Wolf,Hollander Strasse 17,Biebertal,35444,LeonieWolf@cuvox.de,06409 10 68 95,13.10.56,50.69536,8.516227

M,Swen,Ebersbacher,Holstenwall 19,Abberode,6543,SwenEbersbacher@telekom.de,034779 14 40,21.10.39,51.570154,11.294344

M,Martin,Thalberg,Mohrenstrasse 63,Albstadt Burgfelden,72459,MartinThalberg@cuvox.de,07431 43 39 99,03.03.37,48.263463,8.945908

In [14]:
rd = open("FakeAdressen.txt")
for zeile in rd:
    print(zeile,end="")
rd.close()
M,Mathias,Zimmer,Buelowstrasse 82,Oberrod,56479,MathiasZimmer@gmx.de,02664 99 74 68,27.03.82,50.530761,7.980033
M,Torsten,Müller,Paderborner Strasse 23,Erdweg,85253,TorstenMuller@kabel.de,08254 27 03 80,31.05.91,48.310973,11.335096
M,Thomas,Neudorf,Fontenay 41,Kronach,96313,ThomasNeudorf@gmx.de,09261 66 53 16,07.07.46,50.273421,11.407716
W,Angelika,Nussbaum,An Der Urania 60,Husum,25805,AngelikaNussbaum@rhyta.com,04841 42 23 87,16.08.32,54.561832,9.151079
M,Jonas,Weissmüller,Sonnenallee 34,Augsburg,86044,JonasWeissmuller@telekom.de,0821 51 24 61,13.04.68,48.353975,10.910581
M,Stefan,Busch,Alt-Moabit 22,Wurzen,4801,StefanBusch@1und1.de,03425 65 19 75,28.06.56,51.380197,12.837981
M,Felix,Herz,Kastanienallee 98,Osteel,26529,FelixHerz@1und1.de,04934 60 24 76,08.12.97,53.450546,7.20508
W,Martina,Bumgarner,Hardenbergstraße 50,Rehweiler,66907,MartinaBumgarner@vodafon.de,06383 47 26 81,15.02.46,49.480584,7.435079
W,Doreen,Hoch,Straße der Pariser Kommune 44,Köln Rodenkirchen,50996,DoreenHoch@rhyta.com,0221 36 87 52,10.08.96,50.811933,7.040219
M,Steffen,Hueber,Frankfurter Allee 2,Karlsruhe Daxlanden,76189,SteffenHueber@congstar.de,0721 23 96 58,22.04.79,49.090142,8.397664
M,Steffen,Mayer,Kurfürstenstraße 8,Eschenbach,92671,SteffenMayer@kabel.de,07161 56 96 94,27.01.81,48.676098,9.628519
M,Kevin,Kastner,Charlottenstrasse 48,Cottbus,3050,KevinKastner@gmx.de,0355 58 83 10,19.02.48,51.733721,14.431042
W,Susanne,Weissmüller,Rosenstrasse 3,München,81675,SusanneWeissmuller@telekom.de,089 70 86 18,11.11.57,48.220319,11.695522
M,Marcel,Boehm,Alter Wall 43,Gollhofen,97258,MarcelBoehm@cuvox.de,09339 89 94 42,31.12.78,49.52431,10.159784
M,Michael,Konig,Inge Beisheim Platz 40,Kirchgellersen,21394,MichaelKonig@cuvox.de,04135 75 33 09,14.11.35,53.277876,10.155416
W,Johanna,Boehm,Genslerstraße 91,Berlin Schöneberg,10825,JohannaBoehm@vodafon.de,030 75 91 23,17.02.40,52.541938,13.395334
W,Daniela,Hartmann,Gubener Str. 9,Rosenheim,83026,DanielaHartmann@web.de,08031 69 53 65,25.06.34,47.833694,12.01175
W,Leonie,Klug,Rohrdamm 59,Bad Salzuflen Holzhausen,32108,LeonieKlug@cuvox.de,05208 70 42 84,03.02.70,52.049233,8.826827
M,Florian,Jung,Gotzkowskystrasse 55,Dohr,56812,FlorianJung@rhyta.com,02671 63 54 64,28.02.93,50.092006,7.101282
M,Martin,Gersten,Rudower Strasse 18,Lascheid,54597,MartinGersten@telekom.de,06556 10 73 02,16.10.70,50.28629,6.515705
W,Heike,Herman,Messedamm 93,Dresden,1131,HeikeHerman@kabel.de,0351 74 61 85,08.03.74,51.086195,13.790194
W,Sarah,Köhler,Invalidenstrasse 96,Ruppertsberg,67152,SarahKoehler@web.de,06326 93 97 78,02.06.93,49.333561,8.207738
W,Sabrina,Drescher,Guentzelstrasse 6,Ebersburg,36157,SabrinaDrescher@telekom.de,06656 25 78 89,06.02.91,50.552373,9.781745
M,Wolfgang,Gottschalk,Brandenburgische Str. 16,Erlenbach,63902,WolfgangGottschalk@web.de,07132 16 70 86,11.12.31,47.957794,8.086371
M,Wolfgang,Fisher,Schönhauser Allee 99,Emmendingen,79312,WolfgangFisher@gmx.de,07641 27 41 15,26.10.75,48.101633,7.770728
M,Daniel,Koertig,Luetzowplatz 48,Ehlenz,54636,DanielKoertig@kabel.de,06569 99 21 64,31.10.53,50.06716,6.342487
W,Annett,Boehm,Budapester Strasse 93,Gyhum,27404,AnnettBoehm@kabel.de,04288 48 86 09,21.07.44,53.245072,9.258132
M,Kristian,Gerber,Reeperbahn 64,Zwickau,8066,KristianGerber@web.de,037607 48 54,30.07.74,50.778603,12.566214
M,Thorsten,Kunze,Straße der Pariser Kommune 71,Köln Mülheim,51063,ThorstenKunze@cuvox.de,0221 61 98 68,06.07.77,50.912801,6.933286
W,Christine,Beich,Straße der Pariser Kommune 16,Köln Kalk,51109,ChristineBeich@gmx.de,0221 41 72 22,21.01.93,51.019736,7.099108
M,Mario,Farber,Invalidenstrasse 86,Hainfeld,76835,MarioFarber@telekom.de,06323 84 88 31,12.11.42,49.253485,8.167636
W,Laura,Gerste,Bayreuther Strasse 18,Reutlingen Gönningen,72770,LauraGerste@gustr.com,071 33 62 11,27.10.78,48.395319,9.086912
M,Ralf,Schröder,Hardenbergstraße 29,Schwanheim,76848,RalfSchroder@congstar.de,06392 21 03 75,06.12.66,49.274311,7.876453
M,Jörg,Hertzog,An der Alster 23,Krakow,18290,JorgHertzog@rhyta.com,038451 71 69,22.04.82,53.629202,12.326508
M,Maximilian,Abt,Landsberger Allee 27,München,80324,MaximilianAbt@congstar.de,089 10 64 76,10.01.71,48.051394,11.484411
M,Dennis,Nacht,Nuernbergerstrasse 15,Eutin,23693,DennisNacht@kabel.de,04521 93 53 33,05.08.41,54.158818,10.688799
M,Torsten,Weiss,Landsberger Allee 38,München,80602,TorstenWeiss@rhyta.com,089 96 75 89,21.03.45,48.076066,11.622793
W,Leonie,Wolf,Hollander Strasse 17,Biebertal,35444,LeonieWolf@cuvox.de,06409 10 68 95,13.10.56,50.69536,8.516227
M,Swen,Ebersbacher,Holstenwall 19,Abberode,6543,SwenEbersbacher@telekom.de,034779 14 40,21.10.39,51.570154,11.294344
M,Martin,Thalberg,Mohrenstrasse 63,Albstadt Burgfelden,72459,MartinThalberg@cuvox.de,07431 43 39 99,03.03.37,48.263463,8.945908
In [15]:
with open("test2.txt") as rd:
    inhalt = rd.read()
print(inhalt)
Dies ist ein Text
mit mehreren Zeilen
und auch einer

Leerzeile

Binärdateien

In [16]:
with open("binärdatei.bin","wb") as wb:
    ergebnis = wb.write(b'0123456789abcdefghijklmnopqrstuvwxyz')
ergebnis
Out[16]:
36
In [17]:
with open("binärdatei.bin","wb") as wb:
    ergebnis = wb.write(b'0123456789abcdefghijklmnopqrstuvwxyz')
    print(wb.tell())
    wb.seek(1)
    ergebnis = wb.write(b'    ')
    print(ergebnis)
36
4
In [18]:
with open("asciitabelle.bin","wb") as wb:
    for i in range(128):
        wb.write(bytes.fromhex("{:02x}".format(i)))
In [19]:
with open("binärdatei.bin","rb") as rb:
    inhalt = rb.read()
    print(inhalt)
b'0    56789abcdefghijklmnopqrstuvwxyz'
In [20]:
with open("binärdatei.bin","rb") as rb:
    stelle = rb.tell()
    zeichen = rb.read(1)
    while zeichen:
        print("{}: {}".format(stelle,zeichen))
        stelle = rb.tell()
        zeichen = rb.read(1)
0: b'0'
1: b' '
2: b' '
3: b' '
4: b' '
5: b'5'
6: b'6'
7: b'7'
8: b'8'
9: b'9'
10: b'a'
11: b'b'
12: b'c'
13: b'd'
14: b'e'
15: b'f'
16: b'g'
17: b'h'
18: b'i'
19: b'j'
20: b'k'
21: b'l'
22: b'm'
23: b'n'
24: b'o'
25: b'p'
26: b'q'
27: b'r'
28: b's'
29: b't'
30: b'u'
31: b'v'
32: b'w'
33: b'x'
34: b'y'
35: b'z'
In [21]:
with open("binärdatei.bin","rb+") as rbp:
    rbp.seek(1)
    ergebnis = rbp.write(b'1234')
    print(ergebnis)
    rbp.seek(0)
    inhalt = rbp.read()
    print(inhalt)
4
b'0123456789abcdefghijklmnopqrstuvwxyz'