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!