【发布时间】:2018-07-08 21:19:50
【问题描述】:
我正在尝试用不同长度的字符串构建一个表格
Bob | Smith | UK | Sales
James | Hobson | Ireland | Accounts
所有的“|”整齐排列
已尝试使用"{:<10s} | {:<10s} | {:<10s} | {:<10s}".format(fn, ln, loc, div)
但我明白了
Bob | Smith | UK | Sales
James | Hobson | Ireland | Accounts
所以{:<10s} 似乎在设置填充而不是字符串长度,有没有一种简单的方法来固定字符串的长度,以便列正确排列?
【问题讨论】:
-
我无法重现您的错误。您是否对两行应用了相同的格式字符串?
-
是的 - 我正在使用 for 循环将嵌套列表中的值放入表中
-
Your code works, as you can see on repl.it。
<10就是你想要的。无论您遇到什么问题,它都存在于您没有向我们展示的代码的其他部分。 -
您在某些字符串中是否有任何退格字符
'\b'?他们可以欺骗format()。 -
您是否可能以比例字体显示它(例如,通过将其放在 tkinter 小部件中而不是将其打印到控制台),或者将其插入某些 HTML 或其他格式保留空格或类似的东西?
标签: python string formatting