使用string.format()尝试在控制台打印Unicode字符
下面是问题的代码片段:
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'')