DeepDiff 3.3.0 documentation!

DeepSearch Reference

class deepdiff.search.DeepSearch(obj, item, exclude_paths=set([]), exclude_types=set([]), verbose_level=1, case_sensitive=False, **kwargs)

DeepSearch

Deep Search inside objects to find the item matching your criteria.

Parameters

obj : The object to search within

item : The item to search for

verbose_level : int >= 0, default = 1.
Verbose level one shows the paths of found items. Verbose level 2 shows the path and value of the found items.
exclude_paths: list, default = None.
List of paths to exclude from the report.
exclude_types: list, default = None.
List of object types to exclude from the report.

Returns

A DeepSearch object that has the matched paths and matched values.

Supported data types

int, string, unicode, dictionary, list, tuple, set, frozenset, OrderedDict, NamedTuple and custom objects!

Examples

Importing
>>> from deepdiff import DeepSearch
>>> from pprint import pprint
Search in list for string
>>> obj = ["long somewhere", "string", 0, "somewhere great!"]
>>> item = "somewhere"
>>> ds = DeepSearch(obj, item, verbose_level=2)
>>> print(ds)
{'matched_values': {'root[3]': 'somewhere great!', 'root[0]': 'long somewhere'}}
Search in nested data for string
>>> obj = ["something somewhere", {"long": "somewhere", "string": 2, 0: 0, "somewhere": "around"}]
>>> item = "somewhere"
>>> ds = DeepSearch(obj, item, verbose_level=2)
>>> pprint(ds, indent=2)
{ 'matched_paths': {"root[1]['somewhere']": 'around'},
  'matched_values': { 'root[0]': 'something somewhere',
                      "root[1]['long']": 'somewhere'}}

Back to DeepDiff 3.3.0 documentation!