OrderedDict with attribute-style access
Project description
An ordered dictionary with attribute-style access.
Usage
AttrDict behaves exactly like collections.OrderedDict, but also allows keys to be accessed as attributes.
>>> from orderedattrdict import AttrDict >>> conf = AttrDict() >>> conf['z'] = 1 >>> assert conf.x == 1 >>> conf.y = 2 >>> assert conf['y'] == 2 >>> conf.x = 3 >>> assert conf.keys() == ['z', 'y', 'x']
NOTE: If the key clashes with an AttrDict attribute, the key is not used. This also applies if the key starts with __ (two underscores). For example:
>>> a = AttrDict(keys=1) >>> a.keys <bound method AttrDict.keys of AttrDict([('keys', 1)])> >>> a['keys'] 1
JSON files can be parsed using AttrDict as follows:
>>> import json >>> data = json.load(open('file.json'), object_pairs_hook=AttrDict)
YAML files can be parsed using AttrDict as follows:
>>> import yaml >>> data = yaml.load(open('file.yaml'), Loader=AttrDictYAMLLoader)
YAML files can be saved from AttrDict structures as follows:
>>> yaml.dump(data, Dumper=AttrDictYAMLDumper)
Installation
pip install orderedattdict
This is a pure-Python package is build for Python 2.7+ and Python 3.0+.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
orderedattrdict-1.0.0.zip
(5.3 kB
view hashes)
Built Distribution
Close
Hashes for orderedattrdict-1.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c8ce8560d451be92d35dd68c789026835b275a2371849445abb4e883bc0ef09 |
|
MD5 | 2810d3fadcfec10e49303cf164d93694 |
|
BLAKE2b-256 | e7ee290f853ef75b4af22958121b9402a6f8c1cad1b8e3f8cda97c225222a0d0 |