On Fri, Sep 18, 2020 at 2:13 AM Alexis Masson<a.masson...@ntymail.com>  wrote:
This, in addition with locals().update(_), feels much better to me. 
Furthermore, it would allow other string-like classes, such as bytes or 
bytearray, to use that feature.

But locals().update() isn't a supported operation, except in the
situation where locals() is globals(). So what you're suggesting would
work fine in the REPL but not in any production usage.

ChrisA
That surprises me. I put a quick test to check :

def f() :
    print(locals())
    locals().update(dict(a=3))
    print(locals())

f()
prints :

================= RESTART: ****/test.py ================
{}
{'a': 3}
>>>
So maybe the specs don't force it, but under the current implementation, it seems to work.

I agree that it's bad practice anyway; a correct solution to the original question might surely involve something akin to :for key, value in parsed.items() :

for key, value in parsed.items() :

    exec(f"{key} = {value}")

I like the idea of needing to format a string in the process of parsing another ;)

Anyway, back on topic !

_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/2VTQOGXLKZBGBJFZEQ7PGOHAYB4B5UDW/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to