python-3.x - Ascii 艺术的 Y 位置不变,而 X 位置不变
问题描述
我在这里有这段代码:
import sys
import subprocess
import os
from colorama import init
init()
path = os.getcwd()
frame_logo = []
frame_data = []
frame_name = ["frame1.txt", "frame2.txt", "frame3.txt", "frame4.txt"]
for i in frame_name:
fullPath = "{}\\assets\\".format(path)
with open(fullPath + str(i), "r+") as f:
readData = f.read()
frame_data.append(readData)
with open(fullPath + "ldr_logo.txt", "r+") as f:
readData = f.read()
frame_logo.append(readData)
def printPos(x, y, text_to_print):
sys.stdout.write("\x1b[%d;%df%s" % (x, y, text_to_print))
sys.stdout.flush()
def Animation():
print(" ")
printPos(1, 20, frame_data[0])
...
因此,frame_name
列表中的每个文件都包含 Ascii 艺术,并且文件内容保存在frame_data
(因此,frame_data[0]
包含 Ascii 艺术frame1.txt
等......)。当我尝试printPos
针对简单字符串(例如“foo”)使用该函数(在特定位置打印)时,它可以工作,但是当我尝试针对 Ascii 艺术(frame_data[0]
例如)执行此操作时,只有 X 位置移动并且Y 保持不变。
我试过printPos(1, 20, str(frame_data[0]))
了,它给出了相同的输出,甚至在一个列表中创建了另一个简单的“foo”字符串来测试(因为当我尝试打印 Ascii 艺术时我怀疑列表)printPos
并且它有效。我不知道为什么 Y pos 不会随着 Ascii 艺术而改变,有什么线索吗?谢谢!
解决方案
推荐阅读
- r - R:对目录中的文件名进行循环和操作
- sql - 使用 Legacy SQL 在 Big Query 数据库中的多个表上按日期计算行数
- javascript - Vue-Firebase:如何从同一个应用程序连接到 2 个 Firebase
- machine-learning - 使用 Keras 在深度学习中进行对象标注之前需要哪些预处理步骤?
- akka - Akka:如果不存在则创建actor
- javascript - 反应式表单验证不适用于 IE 11
- python-3.x - 计算列表中重复元素的数量,考虑大于它们的元素
- linux - centOS 7 上的 Docker-CE 无法运行容器
- c# - 如何摆脱 LOH 碎片并优化代码
- javascript - 保存任何网站上可编辑的内容所做的更改