【发布时间】:2018-11-13 09:49:18
【问题描述】:
我知道例如 "{:,}".format(123456789) 将在 python 中打印 '123,456,789' 作为输出。
但是,我希望将细空格字符用作千位分隔符,而不是逗号。根据here,细空格字符的python源编码为u"\u2009"。
所以我尝试用 u"\u2009" 替换 "{:,}" 中的逗号,但这会导致语法错误。这可能是因为 python 无法处理生成的嵌套双引号,并且需要转义某些内容。
那么有没有办法使这个或其他机制起作用?顺便说一句,我也想禁止出现在输出中的单引号。
【问题讨论】:
-
这将有助于显示一个示例和确切的错误。
"{:\u2009}".format(123456789)给出不同的错误:ValueError: Unknown format code '\x2009' for object of type 'int'但至少它不是语法错误! -
根据docs.python.org/3/library/…,您只能将
_或,作为分组选项。因此,您应该使用下面答案中提到的字符串替换。 -
如果您的问题得到解答,请mark the most helpful answer as accepted。您可以通过单击答案左侧的灰色复选标记将其切换为绿色来接受答案。谢谢。
标签: python python-3.x formatting output