Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Pretty Printer (In đẹp dữ liệu) trong Python

Để in cấu trúc dữ liệu phức tạp (non-trivial) ra console Python, ta có thể dùng module pretty printer (pprint). Nếu đối tượng có nhiều văn bản trên một dòng, phương thức này sẽ ngắt chúng thành các dòng riêng biệt.

Để dùng module này, nên nhập bằng:

import pprint

Có các phương thức khác nhau liên quan đến pretty print:

Phương thức pprint.pformat(object, indent=1, width=80, depth=None, *, compact=False)

Trả về biểu diễn đã định dạng của object dưới dạng chuỗi. Các thông tin như indent, width, depth đều được truyền làm đối số để thực hiện nhiệm vụ.

Phương thức pprint.pprint(object, stream=None, indent=1, width=80, depth=None, *, compact=False)

In biểu diễn đã định dạng của object ra stream. Khi stream không chỉ định, dùng sys.stdout.

Phương thức pprint.isreadable(object)

Kiểm tra xem biểu diễn đã định dạng của object có đọc được (readable) hay không.

Mã ví dụ

import pprint
import json

json_data = json.loads(open('sample_json.json', 'r').read())
print("Dữ liệu JSON:")
print(json_data)

if pprint.isreadable(json_data):
    print('Dữ liệu có thể đọc được')
else:
    print('Dữ liệu KHÔNG đọc được')

print("\nDữ liệu JSON định dạng đúng:")
pprint.pprint(json_data)

Kết quả

Dữ liệu JSON:
[{'name': 'Subhas', 'age': 25, 'city': 'Kolkata'}, {'name': 'Palash', 'age': 22, 'city': 'Delhi'}, {'name': 'Vivek', 'age': 23, 'city': 'Bangaluru'}]
Dữ liệu có thể đọc được

Dữ liệu JSON định dạng đúng:
[{'age': 25, 'city': 'Kolkata', 'name': 'Subhas'}, {'age': 22, 'city': 'Delhi', 'name': 'Palash'}, {'age': 23, 'city': 'Bangaluru', 'name': 'Vivek'}]