有没有办法使用Python(3)将字符打印到控制台上的某个点? 这是我正在努力实现的一个理想的例子:
def print_char(x, y, char):
# Move console cursor to 'x', 'y'
# Set character under cursor to 'char'
我知道在其他一些语言中可以使用Python吗?我不介意我是否必须使用外部库。
我在Windows 7上。
答案 0 :(得分:4)
如果您使用的是UNIX(如果不是,请参阅下文),请使用curses
:
import curses
stdscr = curses.initscr()
def print_char(x, y, char):
stdscr.addch(y, x, char)
只有UNIX平台的Python包包含curses
模块。但不要担心,如果这不适用于您,因为Windows和Mac OS可以使用名为UniCurses
的移植版本。
答案 1 :(得分:2)
如果你的控制台/终端支持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。这将减少清除屏幕时的闪烁。