Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #5287
| 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> |
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
Re: [Python-de] einheitliches Vorgehen beim Öffnen von Dateien. Kaeptm Blaubaer <kaeptmblaubaer1000@gmail.com> - 2018-10-18 11:29 +0200
csiph-web