2011-09-12 70 views
5

編輯:我剛剛發現可以通過使用標準庫「curses」來獲得類似的行爲。有一些關於它如何在這裏和那裏工作的演示,例如在YouTube上:http://www.youtube.com/watch?v=Bj-H9uPEa5U是否可以在IDLE內某個屏幕位置打印字符串?

這是一個奇怪而愚蠢的問題,我知道,但我很好奇,因爲我不太瞭解python以及它是如何工作的。 從終端或當您使用IDLE,有什麼方法可以在某個屏幕位置打印字符串?

我會試着更好地解釋一下:你是否還記得過去用Basic編寫小程序,可能用Commodore 64,Apple II或ZX Spectrum的舊時代? 那段日子,如果你想在某個位置打印字符串你用來寫這樣的事情:

10 LOCATE 30,40:PRINT「Hello World」的

我只是好奇,想知道有什麼辦法可以告訴python在某個特定位置打印一個字符串,以及是否有辦法知道在IDLE窗口中可以實際顯示多少列和多少行。

由於英語不是我的母語,我也做了一個樣機平局,來解釋這個概念更好一點:-)

謝謝。

Mockup screen to explain what I mean

+4

如果任何你想要的這個奇特,放手的空閒和擁抱詛咒。或者自己重新實施一半,這非常痛苦。 – delnan

+0

這在IDLE中是不可能的。 – Roger

回答

11

我不知道,如果這個工程閒置,但在任何正常的終端做:

import sys 
def print_there(x, y, text): 
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (x, y, text)) 
    sys.stdout.flush() 

它使用Ansi-Escape Sequences

+0

非常感謝您的回答,它從終端運行。 – Cesco

+0

@rumpel請注意解釋一下嗎? – Caltor

+0

@Caltor:按照以上鍊接解釋Ansi轉義序列。這些由終端軟件解釋。 – rumpel

相關問題