Python 3.x Python3打印功能用于对齐正确对齐的列

Python 3.x Python3打印功能用于对齐正确对齐的列,python-3.x,Python 3.x,我试图将一些原始输出对齐到一个用python打印函数格式化的标题中 这是来自C程序函数的格式: QUEUE_NAME PRIO STATUS MAX JL/U JL/P JL/H NJOBS PEND RUN SUSP debug 50 Open:Active - 10 - - 0 0 0 0 perf13 45 Open:Active -

我试图将一些原始输出对齐到一个用python打印函数格式化的标题中

这是来自C程序函数的格式:

QUEUE_NAME     PRIO      STATUS      MAX  JL/U JL/P JL/H NJOBS  PEND  RUN  SUSP
debug           50    Open:Active      -   10    -    -     0     0     0     0
perf13          45    Open:Active      -    -    -    1     0     0     0     0
vntr            45    Open:Active      -    -    -    -     0     0     0     0
下面是我试图用python风格打印输出的内容,但问题是列数据没有像上面用C程序那样正确地拟合,例如
状态

QUEUE_NAME    PRIO      STATUS     MAX   JL/U  JL/P  JL/H  NJOBS PEND  RUN  SSUSP
normal        150       -          8     -     -     -     1     -     0    0
lnx64         150       -          2147  -     -     -     0     -     0    0
interactive   50        Open:Active100   50    21    34    0     -     0    0
下面是我正在尝试的代码,请建议改进代码

$ cat  default.py
def display(data):
    print("\n")
    print('{:<14}{:<10}{:<12}{:<6}{:<6}{:<6}{:<6}{:<6}{:<6}{:<5}{:<5}'.format("QUEUE_NAME","PRIO","STATUS","MAX","JL/U","JL/P","JL/H","NJOBS","PEND","RUN","SSUSP"))
    keys = ['queue','priority','status','maxJob','jlu','jlp','jlh','numJobs','pend','numRUN','numSSUP']
    for doc in data['NBS_BATCH_QUEUES']:
        element_lst = []
        for key in keys:
            if key in doc:
                key = doc[key]
            else:
                key = '-'
            element_lst.append(str(key))
        print('{0[0]:14s}{0[1]:10s}{0[2]:12s}{0[3]:6s}{0[4]:6s}{0[5]:6s}{0[6]:6s}{0[7]:6s}{0[8]:6s}{0[9]:5s}{0[10]:5s}'.format(element_lst))
$cat default.py
def显示(数据):
打印(“\n”)

打印(“{:我刚刚正确地对齐了打印语句,现在一切看起来都很好,Thnx

print('{:>14}{:>8}{:>13}{:>8}{:>6}{:>6}{:>6}{:>6}{:>6}{:>8}{:>8}'.format("QUEUE_NAME","PRIO","STATUS","MAX","JL/U","JL/P","JL/H","NJOBS","PEND","RUN","SSUSP"))


print('{0[0]:>14}{0[1]:>8}{0[2]:>13}{0[3]:>8}{0[4]:>6}{0[5]:>6}{0[6]:>6}{0[7]:>6}{0[8]:>6}{0[9]:>8}{0[10]:>8}'.format(element_lst))

我得到提示,这是必需的
“向右对齐”