从defaultdict(列表)打印k,v

时间:2018-04-01 19:56:35

标签: printing python-3.6 defaultdict

我有一个通过SSH(Paramiko库)连接到思科无线的程序 局域网控制器(WLC)。然后我运行了一个显示客户端摘要'并解析\ process 输出以生成报告。

除印刷外,一切都有效。

注意:' e'是使用以下命令创建的字典:defaultdict(list)

如果我使用它:

for k, v in e.items():
    print('{:25}'.format(k), end='')
    for i in v:
        print('{:5}'.format(i), end='')
    print("\n")

输出如下:

       AP                Count
------------------------------
AP0027.e3f1.9208             8    7    6

AP70df.2f42.3450             1    1    1

AP25-AthleticOffice          4    4    3

AP70df.2f74.9868             1    1    1

AP70df.2f42.3174             2    2    2

我不希望数据线之间有额外的空白行。

但如果我只是摆脱最后一行:print("\n")

然后我得到输出的这种格式:

AP0027.e3f1.9208             8    7    6AP70df.2f42.3450             1    1    1AP25-AthleticOffice          4    4    3AP70df.2f42.3174             1    1    1AP70df.2f42.3174             2    2    2

没有回车。

我要么得到零回车,要么两回。

1 个答案:

答案 0 :(得分:0)

这是因为print()已添加end字符 - 默认情况下为\n。您可以通过仅打印一个空字符串(与print('', end='\n')相同)来修复它:

for k, v in e.items():
    print('{:25}'.format(k), end='')
    for i in v:
        print('{:5}'.format(i), end='')
    print('')