[Python] with... as...
Yuri
yurj a alfa.it
Gio 18 Mar 2021 08:55:48 CET
with su una risorsa chiama __enter__ all'inizio e __exit__ su questa
risorsa quando si esce dal blocco.
>>> a = 1
>>> with a:
... printa(a)
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: __enter__
>>>
il risultato di open torna un oggetto che supporta __enter__ e __exit__
Questo meccanismo si può generalizzare tramite i contextmanager:
https://book.pythontips.com/en/latest/context_managers.html
Il 17/03/21 22:33, Franky Bonanno ha scritto:
> with vedilo come. qualcosa che ti fa risparmiare del tempo, ad esempio
> se apri un file in scrittura e dimentichi di chiuderlo, hai buone
> probabilità di corromperlo. Con with, una volta finite le operazioni
> sull'ipotetico file, questi viene chiuso automaticamente.
> Per quanto riguarda as, oltre quello che asseriva Tex, immagina una
> cosa del genere: with open("supercalifragilistichespiralidoso.txt) as sp.
> sp.readlines.
>
> Il mer 17 mar 2021, 21:50 Marco Beri <marcoberi a gmail.com
> <mailto:marcoberi a gmail.com>> ha scritto:
>
> On Wed, 17 Mar 2021, 21:41 Vittorio Arturi,
> <vittorio.arturi a gmail.com <mailto:vittorio.arturi a gmail.com>> wrote:
>
> "As" dovrebbe essere (se non sbaglio) un alias: converti il
> nome di una variabile o una libreria in un nome piú piccolo,
> sintatticamente piú memorizzabile e piú "usabile" nel tuo script.
> Scrivo col beneficio del dubbio essendo un neofita assoluto.
>
>
> Non solo per comodità.
>
> Ammettiamo che devi importare due moduli utils, uno dalla libreria
> ceppa e l'altro dalla libreria dimao. Come fai?
>
> from ceppa import utils as ceppa_utils
> from dimao import utils as dimao_utils
>
> Ciao.
> Marco.
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it <mailto:Python a lists.python.it>
> https://lists.python.it/mailman/listinfo/python
> <https://lists.python.it/mailman/listinfo/python>
>
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> https://lists.python.it/mailman/listinfo/python
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20210318/4d898d6c/attachment-0001.html>
Maggiori informazioni sulla lista
Python