xonsh.lazyjson#
Implements a lazy JSON file class that wraps around json data.
- class xonsh.lazyjson.LJNode(offsets, sizes, root)[source]#
A proxy node for JSON nodes. Acts as both sequence and mapping.
- Parameters
- offsetsdict, list, or int
offsets of corresponding data structure, in bytes
- sizesdict, list, or int
sizes of corresponding data structure, in bytes
- rootweakref.proxy of LazyJSON
weakref back to root node, which should be a LazyJSON object.
- count(value) integer -- return number of occurrences of value #
- get(k[, d]) D[k] if k in D, else d. d defaults to None. #
- index(value[, start[, stop]]) integer -- return first index of value. #
Raises ValueError if the value is not present.
Supporting start and stop arguments is optional, but recommended.
- items() a set-like object providing a view on D's items #
- keys() a set-like object providing a view on D's keys #
- values() an object providing a view on D's values #
- class xonsh.lazyjson.LazyJSON(f, reopen=True)[source]#
Represents a lazy json file. Can be used like a normal Python dict or list.
- Parameters
- ffile handle or str
JSON file to open.
- reopenbool, optional
Whether new file handle should be opened for each load.
- count(value) integer -- return number of occurrences of value #
- get(k[, d]) D[k] if k in D, else d. d defaults to None. #
- index(value[, start[, stop]]) integer -- return first index of value. #
Raises ValueError if the value is not present.
Supporting start and stop arguments is optional, but recommended.
- items() a set-like object providing a view on D's items #
- keys() a set-like object providing a view on D's keys #
- load()#
Returns the Python data structure represented by the node.
- values() an object providing a view on D's values #