[Python-ideas] Re: Config file template motivation for PEP 463 or an update to format string spec

2022-04-01 Thread Eric Fahlgren
My first thought was that this is a job for string.Template, which has always struck me as subclassing-friendly. Took about a half hour of wrangling the regex to get here: from string import Template, _sentinel_dict class TemplateWithDefaults(Template): braceidpattern = r'([_a-z][_a-z0-9]*)

[Python-ideas] Re: Config file template motivation for PEP 463 or an update to format string spec

2022-04-01 Thread Brian McCall
Oh, I didn't even know about `format_map`! Or `__format__` for that matter. This makes everything much easier. For my purposes, I don't even need to use `__format__` since I am not using format strings. In a show of appreciation, here is a URL to a GIF of James Corden bowing: https://media.giphy

[Python-ideas] Re: Config file template motivation for PEP 463 or an update to format string spec

2022-04-01 Thread Chris Angelico
On Fri, 1 Apr 2022 at 23:51, wrote: > > One way that I like to create templates for config files is to write the > config file in a way that can be used with `str.format` if I read in the > entire config file as a string before re-saving it or sending it somewhere.* > The config file contains a

[Python-ideas] Config file template motivation for PEP 463 or an update to format string spec

2022-04-01 Thread brian . patrick . mccall
One way that I like to create templates for config files is to write the config file in a way that can be used with `str.format` if I read in the entire config file as a string before re-saving it or sending it somewhere.* The config file contains a half dozen or dozen variables. Another several

[Python-ideas] Re: Syntax proposal of for..in..if in regular for loops

2022-04-01 Thread brian . patrick . mccall
+1 Python has always seemed to me to allow one to completely describe exactly what you are iterating over in a for loop in the one line containing the for statement. And that is more or less the principle I tend to follow, unless the for statement simply gets to be too long. I have even used th