我试着这样打印ascii图:
print(("""\
._ o o
\_`-)|_
,"" \
," ## | ಠ ಠ.
," ## ,-\__ `.
," / `--._;)
," ## /
," ## /
""").encode('utf-8'))
字符串
而且输出看起来一点也不对。
打印ascii艺术品的正确方法是什么?
8条答案
按热度按时间tyg4sfes1#
encode
接受一个字符串并将其编码成字节。这不是你想要的;你想直接打印字符串:字符串
如果这不起作用,那么您的终端很可能没有配置为显示Unicode。不幸的是,我对终端配置不是特别了解; Why doesn't my terminal output unicode characters properly?可能是相关的,但我的帮助主要限于Python方面。
0lvr5msh2#
字符串
r可以让你更好地打印原始文本,特别是当你试图打印的图片中有很多引号时。
wgxvkvu93#
字符串
6tr1vspr4#
我得到“. codec can't encode character '\u0ca0' in position.”
如果
print(giraffe)
由于字符编码不正确而失败,请尝试正确设置PYTHONIOENCODING
环境变量,例如在bash中:字符串
不要使用
print(giraffe.encode('utf-8'))
:print()
函数需要文本,而不是字节(无关:要打印字节,可以使用sys.stdout.buffer.write(some_bytes)
)PYTHONIOENCODING
允许您在必要时更改编码pes8fvy95#
无需添加
''.encode('utf-8')
我一直在Ubuntu机器
上使用Python 3.6.7打印ASCCII艺术
然后
型
结果
vzgqcmou6#
字符串
这将类型或打印这在原始文本
7hiiyaii7#
为了解决这个问题,我只是在文件的顶层添加了标题'# coding=utf-8',它就可以工作了。
Result of the script的
z4iuyo4d8#
在Python 3.12.0中
print(r""" """)
或print(r''' ''')
打印ASCII图形而不会出现任何错误。r"""
或r'''
之后的空格是至关重要的,r"""
或r'''
之前的空格也是至关重要的。在这种情况下,在print(r""""
之后按回车键,然后把马ASCII艺术,然后在ASCII艺术之后按回车键一次或两次,你就可以开始了。字符串
而
print(r"""\ """)
或print(r'''\ ''')
,则会沿着ASCII art一起打印反斜杠(\
)。