0

如何在 python 中将可变长度字符串格式化为统一列?我正在将数据库中的数据读入列(总共 2 列),我正在尝试使用 python 左对齐第一列并右对齐第二列format()。这是我目前正在使用的代码:

cur.execute("SELECT * FROM test")

for items in cur:
    list_box.insert(1, "{:1<50}{2:>58}".format( 
        items[0], str(items[1]))) 

这是当前的结果:

在此处输入图像描述

无论我在format()日期中尝试什么值都不会一致地右对齐。

4

1 回答 1

2

您是否使用等宽字体(每个字符占用相同数量的水平空间)?它应该像这样工作:

datas = [
    ('********', '2021-07-28 20:5:0'),
    ('*****', '2021-07-28 20:57:1'),
    ('************', '2021-07-28 20:57:10'),
    ('*****************', '2021-07-28 20:57:33'),
    ('**   ******', '2021-07-28 20:57:34'),
    ('********', '2021-07-28 20:57:59'),
]

for data, datum in datas:
    print(f'{data: <80}|{datum: >20}')
于 2021-07-28T19:09:40.543 回答