#!/usr/bin/env python
# -*- coding: utf-8 -*-
def is_chinese(uchar):
"""判断一个unicode是否是汉字"""
if uchar >= u'\\u4e00' and uchar <= u'\\u9fa5':
return True
else:
return False
def fill_text_to_print_width(text, width):
stext = str(text)
utext = stext.decode("utf-8")
cn_count = 0
for u in utext:
if is_chinese(u):
cn_count += 1
return " " * (width - cn_count - len(utext)) + stext
def print_table_line(title_config_pairs):
fmt = "|".join((["{}"] * len(title_config_pairs)))
print fmt.format(*map(lambda x:fill_text_to_print_width(x[0], x[1]), title_config_pairs))
print_table_line((
("标题1", 10),
("2标题1", 11),
("2标11题1", 13),
("abc", 5),
))
print_table_line((
("好不好", 10),
("琰good", 11),
("琰go琰", 13),
("234", 5),
))