Python <;预印机>;。pformat(json_数据)输出;“无格式”;数据
我想制作一个定制的格式化程序装饰器来漂亮地打印一些json响应Python <;预印机>;。pformat(json_数据)输出;“无格式”;数据,python,python-3.x,Python,Python 3.x,我想制作一个定制的格式化程序装饰器来漂亮地打印一些json响应 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_d
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()
然而,每当我试图从命令行使用一个方法时,它就会打印出一个格式奇怪的字符串
In [1]: api.get('cards')
Out[1]: "{ 'data': [ { '_id': 'snKbGdmHtJGf6gz8y',\n 'inventory': [ 1,\n 12,\n 1,\n
为什么我漂亮的格式化程序在打印时输出的结果很奇怪?我是否可以超出此输出并显示漂亮的输出?如果有帮助,请尝试打印(api.get('cards'))。该字符串中似乎添加了一些空格。也许你只需要
打印,就像@Peque说的那样。