打印完整的 ASCII 艺术
我想打印出像这样的ASCII艺术:
print(("""\
._ o o
\_`-)|_
,"" \
," ## | ಠ ಠ.
," ## ,-\__ `.
," / `--._;)
," ## /
," ## /
""").encode('utf-8'))
但是输出的结果看起来一点也不对。
那么,打印ASCII艺术的正确方法是什么呢?
8 个回答
2
不需要加 ''.encode('utf-8')
我在Ubuntu机器上用Python 3.6.7经常打印ASCII艺术
__header__ = '''Content-Type: application/xml
\033[92m .---------------------------------.
\033[92m | .---------------------------. |
\033[92m |[]|\033[94m __ __ * \033[92m|[]|
\033[92m | |\033[94m / | / | / \033[92m| |
\033[92m | |\033[94m (___|(___|( \033[92m| |
\033[92m | |\033[94m | )| | \033[92m| |
\033[92m | |\033[94m | / | | \033[92m| |
\033[92m | |\033[94m / | |\033[92m| |
\033[92m | |\033[94m( ___ ___ ___| ___ ___|\033[92m| |
\033[92m | |\033[94m| | )| )| )|___)| )\033[92m| |
\033[92m | |\033[94m| |__/ |__/||__/ |__ |__/ \033[92m| |
..And more
然后
print(__header__)
结果是这样的
2
我遇到了“...编解码器无法在位置...编码字符'\u0ca0'”的错误。
如果使用 print(giraffe)
时因为字符编码不正确而失败,可以尝试正确设置 PYTHONIOENCODING
环境变量,比如在 bash 中:
$ PYTHONIOENCODING=utf-8 python3 -c 'from text_art import giraffe as s; print(s)'
不要使用 print(giraffe.encode('utf-8'))
:
print()
函数期望的是文本,而不是字节(顺便说一下,如果你想打印字节,可以使用sys.stdout.buffer.write(some_bytes)
)- 字节如何被解释为文本是你终端的属性,你不应该在代码中硬编码这些设置。
PYTHONIOENCODING
允许你在必要时更改编码
3
在编程中,有时候我们会遇到一些问题,尤其是在使用某些工具或库的时候。比如说,当你在写代码时,可能会发现某些功能没有按照你的预期工作。这种时候,很多人会选择去StackOverflow这个网站寻求帮助。在那里,你可以找到很多其他程序员遇到的类似问题和解决方案。
StackOverflow上有很多人分享他们的经验和解决办法,通常会有详细的解释和代码示例,帮助你更好地理解问题所在。无论你是初学者还是有经验的开发者,那里都有很多有用的信息可以参考。
记得在提问之前,先搜索一下是否有人已经解决了你遇到的问题,这样可以节省时间,也能让你学到更多的知识。
print(r"""\
._ o o
\_`-)|_
,"" \
," ## | ಠ ಠ.
," ## ,-\__ `.
," / `--._;)
," ## /
," ## /
""")
print(r"""\
._ o o
\_`-)|_
,"" \
," ## | ಠ ಠ.
," ## ,-\__ `.
," / `--._;)
," ## /
," ## /
""")
22
print(r"""\
._ o o
\_`-)|_
,"" \
," ## | ಠ ಠ.
," ## ,-\__ `.
," / `--._;)
," ## /
," ## /
""")
在这里,r可以让你更好地打印原始文本,特别是当你要打印的内容中有很多引号的时候。
23
encode
这个函数是用来把字符串转换成字节的。但在这里你其实不需要这样做;你只想直接打印出字符串。
print("""\
._ o o
\_`-)|_
,"" \
," ## | ಠ ಠ.
," ## ,-\__ `.
," / `--._;)
," ## /
," ## /
""")
如果这样做还是不行,那可能是你的终端没有设置好,不能显示Unicode字符。很遗憾,我对终端的设置不是很了解;你可以看看这个链接:为什么我的终端不能正确输出Unicode字符?,不过我能帮的主要还是Python方面的内容。