这是我自己使用 Python 原生 print 函数写的一个用来将内容以表格的形式进行格式化输出的模块
源码
import string
class TablePrint:
CENTER = 'center'
RIGHT = 'right'
LEFT = 'left'
def __init__(self, align_flag='center'):
self.__headers = []
self.__rows = []
self.__max_len = {
} # 记录每一列的最大长度
self.__max_chinese_len = {
}
self.__divider_str = ''
self.__output_table = []
self.__align_flag = align_flag
def set_align_flag(self, align_flag):
self.__align_flag = align_flag
def add_row(self, row):
for i in range(len(row)):
row[i] = str(row[i]).replace('\r\n', ' ').replace('\n', ' ')
self.__rows.append(row)
def add_header(self, headers):
if len(self.__headers) == 1:
raise Exception('只能添加一行表头')
for header in headers:
self.__headers.append(str(header).replace('\r\n', ' ').replace('\n', ' '))
def flush(self):
self.__headers = []
self.__rows = []
self.__max_len = {
}
self.__max_chinese_len