Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #99157 > unrolled thread

Re: String format - resolve placeholders names

Started byErvin Hegedüs <airween@gmail.com>
First post2015-11-20 16:53 +0100
Last post2015-11-20 16:53 +0100
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: String format - resolve placeholders names Ervin Hegedüs <airween@gmail.com> - 2015-11-20 16:53 +0100

#99157 — Re: String format - resolve placeholders names

FromErvin Hegedüs <airween@gmail.com>
Date2015-11-20 16:53 +0100
SubjectRe: String format - resolve placeholders names
Message-ID<mailman.2.1448034770.2291.python-list@python.org>
Hello Chris,

On Sat, Nov 21, 2015 at 02:06:11AM +1100, Chris Angelico wrote:
> On Sat, Nov 21, 2015 at 1:52 AM, Ervin Hegedüs <airween@gmail.com> wrote:
> > Python has a good string formatter, eg. I can do this:
> >
> > s = "{who} likes {what}"
> > d = {'who': "Adam", 'what': "ants"}
> > s.format(**d)

...

> > But is there any other (direct) way, which keywords exists in
> > string?
> 
> I think what you're asking for can be done using format_map with a
> custom mapping object:
> 
> >>> class IdentiMap:
> ...     def __init__(self):
> ...         self.keys = []
> ...     def __getitem__(self, key):
> ...         self.keys.append(key)
> ...
> >>> m = IdentiMap()
> >>> "{who} likes {what}".format_map(m)
> 'None likes None'
> >>> m.keys
> ['who', 'what']
> 
> Does that help?

absolutely, many thanks again!


a.
 

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web