Python:从文本文件打印 ascii 艺术,反斜杠加倍

Posted

技术标签:

【中文标题】Python:从文本文件打印 ascii 艺术,反斜杠加倍【英文标题】:Python: printing ascii art from text file, backslashes are being doubled 【发布时间】:2018-03-05 03:58:00 【问题描述】:

我在记事本中制作了一些 ascii 艺术作品,将其保存为 .txt 文件,然后我使用 rsync 将其放到远程服务器上。我在同一目录中编写了一个简单的 python 脚本来回显文件的内容,如下所示:

#!/usr/bin/python3
with open('ascii_art.txt', 'rb') as f:
    for line in f:
        print(line)
f.close()

这是我的问题:每次脚本遇到“\”字符(这只是 ascii 艺术的一部分)时,它都会打印两次。

我知道反斜杠是 python 中的转义字符,但我不明白如何让它不这样做。我尝试将文本文件中的一个反斜杠更改为双反斜杠,认为它可能会撤消它,但它给了我 4 个反斜杠。

最重要的是,在 ascii txt 文件中每一行的末尾,脚本实际上会打印出 '\r\n' 。我不知道如何摆脱这些。

有人对此有任何想法吗?谢谢

【问题讨论】:

您必须将其作为二进制文件读取吗?为什么你不能做with open("ascii_art.txt", 'r') as f: 应该可以正常工作 【参考方案1】:

我认为这可能是因为文件模式是rb 而不是r,但在您发布实际的ascii_art.txt 之前,这真的是一个猜测:

with open('ascii_art.txt', 'r') as f:
    for line in f:
        print(line.rstrip())

【讨论】:

我接受了,抱歉耽搁了!在你回答后,它不会让我再“接受”10 分钟,而我忘了回来做。感谢您的帮助!

以上是关于Python:从文本文件打印 ascii 艺术,反斜杠加倍的主要内容,如果未能解决你的问题,请参考以下文章

文本艺术/横幅未出现在 cmd 提示符中 (Unicode/ASCII)

将花哨/艺术 unicode 文本转换为 ASCII

使用换行符和反斜杠渲染ASCII艺术字符串

如何在JTextArea中设置文本格式

通过 Python 把图片转换为 ASCII art,好玩!

英文文本中通常会出现哪些可打印的 ASCII 字符?