如何使用 Python 在 Windows 控制台中打印卢比符号?
Posted
技术标签:
【中文标题】如何使用 Python 在 Windows 控制台中打印卢比符号?【英文标题】:How to print rupee symbol in Windows console using Python? 【发布时间】:2015-05-28 23:12:34 【问题描述】:我想将印度卢比符号添加到程序中。这是一个针对 Windows 的非 GUI 程序,将作为 exe 从控制台运行。 (最后我会通过 pyinstaller 将其转换为 exe)。我尝试使用:
print unicode(u"\u20B9")+"12,500"
(取自http://www.fileformat.info/info/unicode/char/20b9/index.htm) 它在 IDLE Interpreter 中运行良好,但是当我尝试从 cmd (Windows 7) 运行相同的代码时,它给出了错误:
Traceback (most recent call last):
File "D:\My Programs\Projects\StockExchangeSim.py", line 9, in <module>
print unicode(u"\u20B9")+"12,500"
File "C:\Python27\lib\encodings\cp850.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u20b9' in position
0: character maps to <undefined>
有没有办法解决这个问题?如果有,在其他windows电脑上使用会不会出问题?
【问题讨论】:
【参考方案1】:raw_text = u"\u20B9"
print(raw_text)
【讨论】:
也许你可以解释一下? 为什么这个工作而不是原始源代码?【参考方案2】:最简单的解决方案可能是避免尝试将 Unicode 字符打印到 Windows 控制台。虽然它确实是seem possible,但在所有情况下处理它似乎都不是一件容易的事。
我可以建议简单的解决方案
print "12,500 Rupees"
【讨论】:
谢谢。我找不到你质疑你的链接,因为我只彻底搜索了卢比符号。【参考方案3】:为了使用 python 打印 'rupay',我们可以使用其各自的 unicode 表示,即 '\u20B9' 。为了打印 rupay,我们只需要执行以下操作:
print(u'\u20B9')
您将获得“rupay”符号。它与平台无关(如问题提到的窗口)
【讨论】:
以上是关于如何使用 Python 在 Windows 控制台中打印卢比符号?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 python Tkinter 隐藏 Windows 控制台?
如何将 Python 3 控制台应用程序打包为 Windows 二进制文件?