Parsing a dictionary from a format string
Hans Mulder
hansmu at xs4all.nl
Mon Jun 20 16:08:25 EDT 2011
On 20/06/11 20:14:46, Tim Johnson wrote:
> Currently using python 2.6, but am serving some systems that have
> older versions of python (no earlier than.
> Question 1:
> With what version of python was str.format() first implemented?
That was 2.6, according to the online docs.
Take a look at the documentation that came with your Python
installation. The documentation for str.format ends with:
"New in version 2.6."
> Question 2:
> Given the following string:
> S = 'Coordinates: {latitude}, {longitude}'
> Is there a python library that would provide an optimal way
> to parse from S the following
> {'latitude':"",'longitude':""}
> ?
Opinions differ. Some people would use the 're' module:
import re
S = 'Coordinates: {latitude}, {longitude}'
keys = re.findall(r'{(\w+)}', S)
print '{' + ', '.join("'" + k + '\':""' for k in keys) + '}'
Other people prefer to use string methods:
S = 'Coordinates: {latitude}, {longitude}'
start = -1
keys = []
while True:
start = S.find('{', start+1)
if start == -1:
break
end = S.find('}', start)
if end > start:
keys.append(S[start+1:end])
print '{' + ', '.join("'" + k + '\':""' for k in keys) + '}'
It might be a matter of taste; it might depend on how familiar
you are with 're'; it might depend on what you mean by 'optimal'.
-- HansM
More information about the Python-list
mailing list