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)