按变化的值对齐列表
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)))
接下来,以 固定宽度字体 打开文件。您的文字没有对齐,因为不同的字母占用不同的宽度; m
比 i
宽。
我的脚本对文本文件的 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)))
接下来,以 固定宽度字体 打开文件。您的文字没有对齐,因为不同的字母占用不同的宽度; m
比 i
宽。