Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Kaeptm Blaubaer Newsgroups: de.comp.lang.python Subject: Re: [Python-de] =?utf-8?q?einheitliches_Vorgehen_beim_=C3=96ffnen_vo?= =?utf-8?q?n_Dateien=2E?= Date: Thu, 18 Oct 2018 11:29:15 +0200 Lines: 76 Message-ID: References: <90674f1b-f3c2-04c2-f50c-f306c5ea1a88@thomas-guettler.de> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Trace: news.uni-berlin.de uPhSBW7Xw/gUHauSNp3hfQ6UuhNNpHCfxcQQZRoIMtXg== Return-Path: X-Original-To: python-de@python.org Delivered-To: python-de@mail.python.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ySmB+nIfCBIqgSJ6KKMGinuYMtZr37FFbASiZM6o0bQ=; b=E6DMviWXq5QYK60HNAxopjEpKqMjUQdkiIZaupoco1SENhjK7phAYDHjI715bKrnaQ OkOuNXO3u5Hv2mMQYAlte8Gnf++Kc6R6VJxDZ/m5uIYP1W/3fN11HcAft9118c4fTQo5 bSmlZsWfXDDVMKZ8nG/6clDWoZ4CyjrVH6KfUqNKrGBnlOBYokMKjPW2In4ywDQlseFb 8D2NNZUrNf03O+y4tGjxKdlykwXyzDTH9iK8w5llz8r8YcggnmziI0SLMAeiytnulYHJ C8azSwtgYrx5MK6Uyxedeq0zt26TTLyDL06R8cfd62W1MtjCx9Joy1UP1LnGlxidFDva OHJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ySmB+nIfCBIqgSJ6KKMGinuYMtZr37FFbASiZM6o0bQ=; b=SqSTSm+Fa3H6ZqkHpvOTv+Uny0+1P2PCrtJ5KoZ/fcSTfWyoWwGeHYIPkhu2IHk8nd S/LPuavkO/nI7hmhV5DkffuiFUNTZefMSLBwRxuemOzoAODkv+4rcFciFCkOwa8m+lpn CtPMv1aBEUSDq2v+jDrS+nAeQvQiO+HuM6eguKkvfdxjbZyeh/kGOB0VrrZE/TjFmgjO 0KNlzqcg80o3XIjL10zJhSEa495Z9BFnq4CzvvBLLAqVDGU1raQvn9v46WBwczbZ6q56 Hd4MlXBR8FmoIKpS0jEC5hPoLdC1yMqVZ81CjC3JeoQjXPW36+efy8lLLKiBHRrGwnHC kE0g== X-Gm-Message-State: ABuFfogkXq9qErzZySDXIOTPm/TdVZ6oDxtxwLp8/mRhS2m15iVp8c/N Kc2+x1kwFkXW1hFz4ig8VrT2Re1dBnigBU8Fym4= X-Google-Smtp-Source: ACcGV63p5Oba4wkCt9gH8dqf/6qJD0IK6TvvTYyIr/8odJLf4Sh1L9iqyXqwC5CbYq0a42qtDsge7lDZJcFc+vTYdA0= X-Received: by 2002:a19:a184:: with SMTP id k126-v6mr952497lfe.22.1539854967342; Thu, 18 Oct 2018 02:29:27 -0700 (PDT) In-Reply-To: <90674f1b-f3c2-04c2-f50c-f306c5ea1a88@thomas-guettler.de> X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: python-de@python.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Die Deutsche Python Mailingliste List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: X-Mailman-Original-References: <90674f1b-f3c2-04c2-f50c-f306c5ea1a88@thomas-guettler.de> Xref: csiph.com de.comp.lang.python:5287 io.open(...).read() oder io.open(...).write() sind nicht empfehlenswert, denn bei PyPy oder Jython oder wenn CPython den gc =C3=A4ndert, werden Date= ien nicht mehr sofort geschlossen. Das kann dazu f=C3=BChren, dass dem Betriebs= ystem die Datei-Handles ausgehen, und das Programm nicht mehr funktioniert oder sogar abst=C3=BCrzt. 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=C3=BCrde ich auch empfehlen, das encoding immer anzugeben. Thomas G=C3=BCttler 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 =C3=96ffnen von Dateien. > > > So lange wir Python2 unterst=C3=BCtzen 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=C3=B6ffnet wird, braucht nicht 'utf8' angegeben werde= n, > 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=C3= =A4ssig > (ohne with-Statement) > > content =3D io.open(my_file, 'rt').read() > > Auch beim Schreiben? > > > > Die Variable wird =E2=80=9Ef=E2=80=9C genannt: > > with io.open(my_file, 'wt') as f: > f.write(...) > > So wird das meist in der Python-Doku gemacht: Bsp: Methods of File Object= s > > > > Der with-Block nach dem Open sollte kurz sein. Also nicht l=C3=A4nger etw= a 6 > Zeilen. > > Gru=C3=9F, > 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 >