我正在尝试打印一个包含python中ASCII艺术的文本文件
我意识到最简单的方法就是这样做
with open(image, 'r') as f:
for line in f:
print(line.rstrip())
但是我想使用curses库打印它,这样我就可以在显示图像的同时显示其他文本。这是我到目前为止的想法
lines=[]
with open('image.txt',"r",encoding="utf8") as f:
lines.append(f.readlines())
for a in lines:
char = str(("".join(a)))
stdscr.addstr(y, x, char)
这段代码完成了90%的工作,但我无法使图像向右移动。我可以通过更改stdscr.addstr(y,x,char)中的y来选择图像从哪一行开始,但是更改x对图像从哪一列开始没有影响
有办法解决这个问题吗? 谢谢
调用
lines.append()
时,您将获取f.readlines()
返回的整个列表,并将其作为单个项添加到lines
for a in lines
则只循环一次,将a
(整个文件)的元素重新连接在一起,并将其传递给addstr()
,后者解释嵌入的换行符,将第一列之后的每一行重置为第一列您不是想要
lines.append()
,而是想要lines.extend()
,或者更可能是想要lines = f.readlines()
。然后,您可以省去连接,尽管您可能应该去掉换行符。例如:相关问题 更多 >
编程相关推荐