编辑:我刚刚发现使用标准库“curses”可以获得类似的行为。有一些关于它如何工作的演示,例如在YouTube上:http://www.youtube.com/watch?v=Bj-H9uPEa5U
我知道这是一个奇怪而愚蠢的问题,但我很好奇,因为我对python及其运作方式知之甚少。 从终端或使用IDLE时,有没有办法在某个屏幕位置打印字符串?
我会试着更好地解释一下:你还记得曾经在Basic制作小程序的旧时代,也许是在Commodore 64,Apple II或ZX Spectrum上吗? 在那些日子里,如果你想在某个位置打印一个字符串,你曾经写过这样的东西:
10 LOCATE 30,40:打印“你好世界”
我只是想知道是否有办法告诉python在某个位置打印一个字符串,以及是否有办法知道在IDLE窗口中可以实际显示多少列和多少行。 / p>
由于英语不是我的母语,我也做了一个模型抽奖,以便更好地解释这个概念: - )
谢谢。
答案 0 :(得分:21)
我不知道这是否适用于IDLE,但它可以在任何正常终端中使用:
import sys
def print_there(x, y, text):
sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (x, y, text))
sys.stdout.flush()
答案 1 :(得分:0)
这个问题只有一个真实的答案,并不是一个很好的答案。方法:
import sys
def print_there(x, y, text):
sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (x, y, text))
sys.stdout.flush()
不是完美的。我建议不要在终端中执行此类操作。如果您想做Gui的东西,请使用Pygame,Tkinter或Django。