python - <PrettyPrinter>.pformat(json_data) outputs "unformatted" data -


i wanted make custom formatter decorator pretty print json responses.

formatter = prettyprinter(indent=2, width=50) def prettify(func):     @wraps(func)     def wrapper(*args, **kwargs):         json_data = func(*args, **kwargs)         if isinstance(json_data, dict) or isinstance(json_data, list):             return formatter.pformat(json_data)         return json_data     return wrapper  class apiinterpreter(object):   # ... omitted stuff because not important.   @prettify   def get(self, endpoint, data={}):     return requests.get(self.base_url.format(version=self.version, endpoint=endpoint), data=data, headers=self.headers).json() 

however, whenever try use method command line, prints out oddly formatted string.

in [1]: api.get('cards') out[1]: "{ 'data': [ { '_id': 'snkbgdmhtjgf6gz8y',\n              'inventory': [ 1,\n                         12,\n                         1,\n 

why pretty formatter outputting oddly when printed? can surpress output , show pretty output?


Comments