tôi có chương trình thử nghiệm sau đây:Tự động rút ngắn chuỗi dài khi bán phá giá với in khá
from random import choice
d = { }
def data(length):
alphabet = 'abcdefghijklmnopqrstuvwxyz'
res = ''
for _ in xrange(length):
res += choice(alphabet)
return res
# Create the test data
for cnt in xrange(10):
key = 'key-%d' % (cnt)
d[key] = data(30)
def pprint_shorted(d, max_length):
import pprint
pp = pprint.PrettyPrinter(indent=4)
pp.pprint(d)
pprint_shorted(d, 10)
Hiện nay đầu ra là một cái gì đó như:
{ 'key-0': 'brnneqgetvanmggyayppxevwcnxvue',
'key-1': 'qjzrklrdkykililenwcyhaexuylgub',
'key-2': 'ayddiaxhvgxpszutnjdwlgojqaluhr',
'key-3': 'rmjpzxrmbogezorigkycqhpsctinzq',
'key-4': 'botfczymszkzwuiecyarknnrvwavnr',
'key-5': 'norifblhtvfnwblcyeipjmteznylfy',
'key-6': 'tiiubgdwxnogdmbafvnujbwpfdopjl',
'key-7': 'badgwbrrqunivylutbxqkaeuctrykt',
'key-8': 'wulrfkqfqqecxmscayzdbatyispwtu',
'key-9': 'gzlwfvjrevlyvbmrvuisnyhhbbwtdd'}
Trong dữ liệu sản xuất của tôi, đôi khi các dây là thực sự dài (vài nghìn ký tự, đến từ base64
tệp đính kèm được mã hóa chẳng hạn) và tôi không muốn điền các nhật ký của mình. Tôi muốn một cái gì đó như:
{ 'key-0': 'brnneqgetv...',
'key-1': 'qjzrklrdky...',
'key-2': 'ayddiaxhvg...',
'key-3': 'rmjpzxrmbo...',
'key-4': 'botfczymsz...',
'key-5': 'norifblhtv...',
'key-6': 'tiiubgdwxn...',
'key-7': 'badgwbrrqu...',
'key-8': 'wulrfkqfqq...',
'key-9': 'gzlwfvjrev...'}
Đó là, các giá trị chuỗi trong dict với chiều dài>max_length
phải được thay thế bằng lược. Có bất kỳ hỗ trợ tích hợp nào trong số pretty print
cho điều này hay tôi phải tạo bản sao của dict bằng cách tự đi bộ và tự rút ngắn chuỗi?