按变化的值对齐列表

Aligning a list by a changing value

我的脚本对文本文件的 header 执行以下操作:

file.write("{:50} {:50} {:50}\n".format("Name", "Count", "Price"))

然后通过写出列表的多个线程调用一个函数:

file.write("{:50}{:50}{:50}".format(*map(str, input)).strip()+ "\n")

这使格式接近于 header,但它们似乎都有点偏差,我假设这与列表内容的可变长度有关。但我不确定如何更改列表中的 50 以使其正确对齐。

目前我的输出如下所示:

如有任何帮助,我们将不胜感激。

编辑 问题已解决。

差异是由于您的输入之后包含额外的空格,将行长度推到超过五十个字符造成的。

您需要剥离 输入 ,而不是 str.format() 输出:

file.write("{:50}{:50}{:50}\n".format(*(str(i).strip() for i in input)))

接下来,以 固定宽度字体 打开文件。您的文字没有对齐,因为不同的字母占用不同的宽度; mi 宽。