似乎python仅添加了一个半角空格来格式化字符串,但是对于全角字符,应该有一个全角空格或两个半角空格。有什么解决办法吗?
代码是:
Customers
然后输出:
template = "{:3s}测试"
print(template.format("测试"))
print(template.format("测试二"))
当我将测试 测试
测试二测试
更改为3
时,输出为:
4
但是我想要的输出是
测试 测试
测试二 测试
答案 0 :(得分:0)
请参见python docs format-examples,第6个示例显示我们可以使用{:*^30}
来使文本居中并用*
填充(^
表示居中以及前面的字符是填充字符)。在此示例中,只需使用全角空格
来替换*
。
最后,我的模板字符串是:
{: >3s}测试
>
表示右对齐。有关所有对齐字符,请参见python docs format-specification
输出为:
测试测试
测试二测试
我还尝试使用两个半角空格作为填充字符,但是它引发了ValueError: Invalid format specifier
。
希望答案会在将来对某人有所帮助