python打印表格技巧
阿新 • • 發佈:2018-12-31
有的時候需要用到打印出表格效果,但是因為中文的存在使得表格列印效果不如人意,所以特地寫了這樣一段指令碼,解決了製表符不能完美解決的問題。同一行每一列內容可以不同步列印,適用於需要複雜計算的情形。如有問題,請高手斧正。
class writer_server(object): li = [] @classmethod def next_line(cls): cls.li.clear() sys.stdout.write('\n') sys.stdout.flush() @classmethod def print(cls, text, max=10): cls.li.append([text, max]) sys.stdout.write('\r') for i in cls.li: cls.pretty(i[0], i[1]) sys.stdout.flush() @classmethod def pretty(cls, text, max=10): l = cls.print_len(text) sys.stdout.write(text) if l < max: for i in range(max - l): sys.stdout.write(" ") sys.stdout.write('\t') @classmethod def println(cls, text, max=10): cls.print(text) cls.next_line() @staticmethod def print_len(text): length = 0 for i in text: if ord(i) < 128: length += 1 else: length += 2 return length