使用string.format()尝试在控制台打印Unicode字符

1 投票
1 回答
1367 浏览
提问于 2025-04-17 08:04

下面是问题的代码片段:

print '{:─^10}'.format('') # Print '─' character 10 times

我用这个来创建漂亮的控制台边框之类的东西。问题是,在我的py文件中运行这个代码时,加上# coding UTF-8会出现:ValueError: 无效的转换规范

如果我在Python命令行中运行同样的脚本,它会输出转义字符:'\xc4\xc4\xc4\x...'

我不知道怎么在我的脚本中让它打印出'─'这个字符。如果我用print '─',因为使用了UTF-8编码,它可以正常打印出'─',但不知为何在string.format()函数中却不行。

有什么建议吗?我相信这可能很容易解决,但我对Python编程非常陌生。

提前谢谢你。

1 个回答

2

假设你在使用Python2,你需要使用unicode字符串,也就是用u''这种格式来表示字符串:

print u'{:─^10}'.format(u'')

撰写回答