Python中的pprint(漂亮打印机)

pprint

pprint是一个python模块,可以帮助我们简化复杂数据结构的可读性。该pprint也被称为“漂亮打印”

让我们考虑一个例子,

dictionary={'coord': {'lon': 77.22, 'lat': 28.67}, 
'weather': [{'id': 721, 'main': 'Haze', 'description': 
'haze', 'icon': '50d'}], 'base': 'stations', 'main': 
{'temp': 44, 'feels_like': 40.42, 'temp_min': 44, 
'temp_max': 44, 'pressure': 1002, 'humidity': 11}, 
'visibility': 6000, 'wind': {'speed': 4.1, 'deg': 290, 
'gust': 9.3}, 'clouds': {'all': 30}, 'dt': 1590398990, 
'sys': {'type': 1, 'id': 9165, 'country': 'IN', 
'sunrise': 1590364538, 'sunset': 1590414050}, 
'timezone': 19800, 'id': 1273294, 'name': 'Delhi', 
'cod': 200}

# 这是我们要打印的字典
print(dictionary)

现在,请求模块是本文的内容,它只是创建嵌套数据结构的一个示例。

输出:

{'coord': {'lon': 77.22, 'lat': 28.67}, 
'weather': [{'id': 721, 'main': 'Haze', 'description': 'haze', 'icon': '50d'}], 
'base': 'stations', 'main': {'temp': 44, 'feels_like': 40.42, 'temp_min': 44, 
'temp_max': 44, 'pressure': 1002, 'humidity': 11}, 'visibility': 6000, 
'wind': {'speed': 4.1, 'deg': 290, 'gust': 9.3}, 'clouds': {'all': 30}, 
'dt': 1590398990, 'sys': {'type': 1, 'id': 9165, 'country': 'IN', 'sunrise': 1590364538, 'sunset': 1590414050}, 
'timezone': 19800, 'id': 1273294, 'name': 'Delhi', 'cod': 200}

如您所见,输出的格式不正确且可读,我们无法读取此复杂的嵌套字典结构。

为了解决此可读性问题,我们将使用内置模块pprint

下载pprint模块

常规方法:在终端或命令提示符下,键入以下命令,

pip install pprint

使用pycharm:转到项目解释器并安装模块。

现在,安装后,导入模块,此模块中有一个名为pprint函数,因此导入为

from pprint import pprint

使结构看起来不错pprint()而不是print()

# 从模块pprint导入pprint
from pprint import pprint


dictionary={'coord': {'lon': 77.22, 'lat': 28.67}, 
'weather': [{'id': 721, 'main': 'Haze', 'description': 
'haze', 'icon': '50d'}], 'base': 'stations', 'main': 
{'temp': 44, 'feels_like': 40.42, 'temp_min': 44, 
'temp_max': 44, 'pressure': 1002, 'humidity': 11}, 
'visibility': 6000, 'wind': {'speed': 4.1, 'deg': 290, 
'gust': 9.3}, 'clouds': {'all': 30}, 'dt': 1590398990, 
'sys': {'type': 1, 'id': 9165, 'country': 'IN', 
'sunrise': 1590364538, 'sunset': 1590414050}, 
'timezone': 19800, 'id': 1273294, 'name': 'Delhi', 
'cod': 200}

# 这是我们要打印的字典
pprint(dictionary)

输出:

{'base': 'stations',
 'clouds': {'all': 30},
 'cod': 200,
 'coord': {'lat': 28.67, 'lon': 77.22},
 'dt': 1590398990,
 'id': 1273294,
 'main': {'feels_like': 40.42,
          'humidity': 11,
          'pressure': 1002,
          'temp': 44,
          'temp_max': 44,
          'temp_min': 44},
 'name': 'Delhi',
 'sys': {'country': 'IN',
         'id': 9165,
         'sunrise': 1590364538,
         'sunset': 1590414050,
         'type': 1},
 'timezone': 19800,
 'visibility': 6000,
 'weather': [{'description': 'haze', 'icon': '50d', 'id': 721, 'main': 'Haze'}],
 'wind': {'deg': 290, 'gust': 9.3, 'speed': 4.1}}

上面的输出清晰易读。