python中英文混合字符串对齐输出,,#!/usr/bin/e


#!/usr/bin/env python# -*- coding: utf-8 -*-def is_chinese(uchar):    """判断一个unicode是否是汉字"""    if uchar >= u'\u4e00' and uchar <= u'\u9fa5':        return True    else:        return Falsedef 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)) + stextdef 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),))

评论关闭