有的时候需要用到打印出表格效果,但是因为中文的存在使得表格打印效果不如人意,所以特地写了这样一段脚本,解决了制表符不能完美解决的问题。同一行每一列内容可以不同步打印,适用于需要复杂计算的情形。如有问题,请高手斧正。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