Untitled
unknown
plain_text
3 years ago
1.1 kB
4
Indexable
import inspect import bs4 my_module = bs4 # Print out all class objects inside a package A: list[tuple[str, type]] = inspect.getmembers(my_module, inspect.isclass) B: list[str] = [ m[0] for m in A if m[1].__module__ == my_module.__name__ ] # B prints the main package classes. C: list[str] = [ m[0] for m in A ] # C prints all class objects, including those are located in the subpackages. D: list[str] = [m[1].__module__ for m in A] # D prints all module names. def record_groupby_keys(_data_pairs: list[tuple[str, str]]) -> dict[str, list]: db: dict[str, list] = {} for package, class_name in _data_pairs: if package not in db: db[package] = [] db[package].append(class_name) #KeyError: 'bs4'. This error is raised when you try to access a key that isn't in a dictionary. else: db[package].append(class_name) return db contain_data: list[tuple[str, str]] = list(zip(D, C)) H = record_groupby_keys(contain_data) from pprint import pprint #pprint.pprint(H)
Editor is loading...