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 <marcob...@gmail.com <mailto:marcob...@gmail.com>> ha scritto:

    On Wed, 17 Mar 2021, 21:41 Vittorio Arturi,
    <vittorio.art...@gmail.com <mailto:vittorio.art...@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@lists.python.it <mailto:Python@lists.python.it>
    https://lists.python.it/mailman/listinfo/python
    <https://lists.python.it/mailman/listinfo/python>


_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a