python中文字符串居中_如何格式化两边的字符串填充,使其围绕特定点居中

首先:

将信息存储在有序字典中,以保持其顺序,并将数据组织成键值对:import collections

d = collections.OrderedDict([

('SERiES', 'Game of Thrones'),

('SiZE', '47,196,930,048 bytes'),

('AUDiO FORMATS', 'English: DTS-HD Master Audio 5.1, French: DTS 5.1, Spanish: DTS 5.1, Polish: DTS 2.0, Spanish: DTS 2.0'),

('UPC', '883929191505'),

('RETAiL RELEASE DATE', '03-06-2012'),

('REGiON', 'A, B, C'),

('STUDiO', 'HBO Home Video'),

('ViDEO', '1080p 1.78:1'),

('SOURCE', 'BD50'),

('RESOLUTiON', '1080p'),

('ASPECT RATiO', '16:9')

])

秒:

您将需要一个单词包装器,以便仅在给定的列长度处包装整个单词:

^{pr2}$

第三:

您需要一个字典格式化程序,在这里可以设置分隔符、整个文本的宽度、文本前面的填充空间以及分隔符前后的空格:def format_dict(dictionary, sep=':', width=80, pad=2, pre=1, post=1):

max_len = max(len(k) for k in dictionary)

para_pad = '%s%s' % ('\n', (pad + max_len + pre + len(sep) + post)*' ')

separator = '%s%s%s' % (pre*' ', sep, post*' ')

output = list()

for key, value in dictionary.iteritems():

output.append(

'%s%s%s' % (

'%s%s' % ((max_len + pad - len(key))*' ', key),

separator,

para_pad.join(word_wrap(str(value), width - len(para_pad)))

)

)

return [''.join(l) for l in output]

第四:

装饰段落的左右两侧:def decorate_para(string, deco='|', width=80):

output = list()

for line in string.split('\n'):

output.append('%s%s%s%s' % (deco, line, (width - len(line))*' ', deco))

return '\n'.join(output)

第五:

通过打印测试输出:w = 79

print decorate_para('\n'.join(format_dict(d, width=w - 2)), width=w)

还有哇!输出为:| SERiES : Game of Thrones |

| SiZE : 47,196,930,048 bytes |

| AUDiO FORMATS : English: DTS-HD Master Audio 5.1, French: DTS 5.1, |

| Spanish: DTS 5.1, Polish: DTS 2.0, Spanish: DTS 2.0 |

| UPC : 883929191505 |

| RETAiL RELEASE DATE : 03-06-2012 |

| REGiON : A, B, C |

| STUDiO : HBO Home Video |

| ViDEO : 1080p 1.78:1 |

| SOURCE : BD50 |

| RESOLUTiON : 1080p |

| ASPECT RATiO : 16:9 |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值