Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #5287

Re: [Python-de] einheitliches Vorgehen beim Öffnen von Dateien.

From Kaeptm Blaubaer <kaeptmblaubaer1000@gmail.com>
Newsgroups de.comp.lang.python
Subject Re: [Python-de] einheitliches Vorgehen beim Öffnen von Dateien.
Date 2018-10-18 11:29 +0200
Message-ID <mailman.231.1539854969.2799.python-de@python.org> (permalink)
References <90674f1b-f3c2-04c2-f50c-f306c5ea1a88@thomas-guettler.de> <CAPPXo7DY3sHRDaBBMqDGTiky+Akvyhu5ULjtmDscjPtdmYeuyg@mail.gmail.com>

Show all headers | View raw


io.open(...).read() oder io.open(...).write() sind nicht empfehlenswert,
denn bei PyPy oder Jython oder wenn CPython den gc ändert, werden Dateien
nicht mehr sofort geschlossen. Das kann dazu führen, dass dem Betriebsystem
die Datei-Handles ausgehen, und das Programm nicht mehr funktioniert oder
sogar abstürzt. Bei write kann es auch passieren, das dadurch die
Dateiinhalte nur im Buffer sind.

Und man kann nie wissen, wie man das System einstellt oder ersetzt, daher
würde ich auch empfehlen, das encoding immer anzugeben.

Thomas Güttler <guettliml@thomas-guettler.de> schrieb am Do., 18. Okt.
2018, 10:08:

> Wenn man gemeinsam Quelltext schreibt, ist es sinnvoll sich Guidelines zu
> erstellen.
>
> Was haltet ihr von diesen Guidelines?
>
>
> Ziel: einheitliches Vorgehen beim Öffnen von Dateien.
>
>
> So lange wir Python2 unterstützen soll io.open() verwendet werden.
>
>
>
> Es sollte immer der Mode angegeben werden: also meist eines aus dieser
> Liste: 'rt', 'rb', 'wt', 'wb'
>
>
>
> Wenn im Textmode geöffnet wird, braucht nicht 'utf8' angegeben werden,
> denn das ist der
> Default (locale.getpreferredencoding(False) ist bei uns immer 'utf8')
>
>
>
> Wenn man nur den Inhalt braucht, dann ist diese einfache Variante zulässig
> (ohne with-Statement)
>
> content = io.open(my_file, 'rt').read()
>
> Auch beim Schreiben?
>
>
>
> Die Variable wird „f“ genannt:
>
> with io.open(my_file, 'wt') as f:
>          f.write(...)
>
> So wird das meist in der Python-Doku gemacht: Bsp: Methods of File Objects
>
>
>
> Der with-Block nach dem Open sollte kurz sein. Also nicht länger etwa 6
> Zeilen.
>
> Gruß,
>    Thomas
>
>
> --
> Thomas Guettler http://www.thomas-guettler.de/
> I am looking for feedback:
> https://github.com/guettli/programming-guidelines
> _______________________________________________
> python-de maillist  -  python-de@python.org
> https://mail.python.org/mailman/listinfo/python-de
>

Back to de.comp.lang.python | Previous | Next | Find similar


Thread

Re: [Python-de]  einheitliches Vorgehen beim Öffnen von Dateien. Kaeptm Blaubaer <kaeptmblaubaer1000@gmail.com> - 2018-10-18 11:29 +0200

csiph-web