Skip to main content

Parse strings using a specification based on the Python format() syntax.

Project description

Parse strings using a specification based on the Python format() syntax.

Anonymous (fixed-position), named and typed values are supported. Also the alignment operators will cause whitespace (or another alignment character) to be stripped from the value.

You may not use both fixed and named values in your format string.

The types supported in “:type” expressions are the regular expression character group types d, D, w, W, s, S and not the string format types.

So, for example, some fixed-position parsing:

>>> r = parse('hello {}', 'hello world')
>>> r.fixed
('world', )
>>> r = parse('hello {:d} {:w}', 'hello 12 people')
>>> r.fixed
('12', 'people')

And some named parsing:

>>> r = parse('{greeting} {name}', 'hello world')
>>> r.named
{'greeting': 'hello', 'name': 'world'}
>>> r = parse('hello {^} world', 'hello  there     world')
>>> r.fixed
('there', )

A ValueError will be raised if there is no match:

>>> r = parse('hello {name:w}', 'hello 12')
ValueError: ...

See also the unit tests at the end of the module for some more examples.


This code is copyright 2011 eKit.com Inc (http://www.ekit.com/) See the end of the source file for the license of use.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

parse-1.0.0.tar.gz (3.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page