如何在Python中将字符打印到控制台的特定位置?
有没有办法在控制台上用Python(3)把一个字符打印到特定的位置?
这里有个理想的例子,展示了我想要实现的效果:
def print_char(x, y, char):
# Move console cursor to 'x', 'y'
# Set character under cursor to 'char'
我知道在其他一些语言中是可以做到的,那Python呢?如果需要用外部库我也不介意。
我现在用的是Windows 7。
2 个回答
3
如果你的控制台或终端支持ANSI转义字符,那么这个方法很好用,不需要任何额外的模块。
def print_char(x, y, char):
print("\033["+str(y)+";"+str(x)+"H"+char)
你可能需要稍微调整一下坐标,以确保它在正确的位置,但这个方法是有效的。你可以用任意长度的字符串替代单个字符进行打印。而且,如果你想在清屏的过程中多次执行这个功能,你可能需要这样做。
def print_char(x, y, char):
compstring += "\033["+str(y)+";"+str(x)+"H"+char
然后在所有的print_char执行完后再打印compstring。这样可以减少清屏时的闪烁现象。