Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python <;预印机>;。pformat(json_数据)输出;“无格式”;数据_Python_Python 3.x - Fatal编程技术网

Python <;预印机>;。pformat(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

我想制作一个定制的格式化程序装饰器来漂亮地打印一些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_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说的那样。