python-write_text

1、python用prettytable输出漂亮的表格

https://linuxops.org/blog/python/prettytable.html

2、写文件

f = open('C:\\Users\\hfqn\\Desktop\\test.txt', 'w')
f.write('Hello, world!')
f.close()

3、打印表格文本,自动对齐:

demo:

def format_table(columns_name, data):
    max_len = 0
    for col in columns_name:
        if max_len < len(col):
            max_len = len(col)
    for d in data[0]:
        if max_len < len(str(d)):
            max_len = len(str(d))
    line_str = "+--------{}--------".format("-"*(2*max_len))
    first_line = line_str * len(columns_name) + "+"
    column_line = ''
    lens = len(line_str)
    for col in columns_name:
        blank = ' ' * (int((lens - len(col) * 2) / 2))
        column_line = "{}|{}{}{}".format(column_line, blank, col, blank)

    data_lines = None
    for i, data_line in enumerate(data):
        n1 = (int((lens - len(str(i))) / 2))
        n2 = n1
        if n1*2+len(str(i))+1 > lens:
            n2 = n1 - 1
        if n1 * 2 + len(str(i))+1 < lens:
            n2 = n1 + 1
        line = "|{}{}{}".format(' '*n1, i, ' '*n2)
        n1 = (int((lens - len(str(data_line))) / 2))
        n2 = n1
        if n1 * 2 + len(str(data_line))+1 > lens:
            n2 = n1 - 1
        if n1 * 2 + len(str(data_line))+1 < lens:
            n2 = n1 + 1
        line = "{}|{}{}{}".format(line, ' '*n1, data_line, ' '*n2)
        if data_lines:
            data_lines = "{}\n{}{}".format(data_lines, line, '|')
        else:
            data_lines = "{}{}".format(line, '|')
    result = "{}\n{}|\n{}\n{}\n{}".format(first_line, column_line, first_line, data_lines, first_line)
    return result

3、

posted @ 2019-05-12 10:48  知是行之始,行是知之成  阅读(2054)  评论(0编辑  收藏  举报