2012-03-04 10 views
1

移動する個体内のグリッドを表示しようとしています。現時点では、「クリアスクリーン」を使用してグリッドを表示します。毎回画面が「ちらつき」するので、これは面倒です。Python 2.6でキャリッジを0,0に戻す

CとVB.NETには、キャリッジをコンソールの先頭に戻して内容を上書きする方法がありました。これによりちらつきがなくなりました。

これはPythonで可能ですか?私はGoogled around、Cursesを見つけましたが、Unixだけです(そして、私は主にWindowsで作業しています)。

現在のグリッドコード(超塩基性):

#Clear() is a OS indepedent method of clearing the screen defined in code above, in windows its just os.system('cls') 
clear() 
x=0 
y=0 
tiles="" 
tile="" 
# Generate grid 
while(y<max_y): 
    while(x<max_x): 
     tile = tileGen(x,y) 
     tiles += str(tile) 
     x+=1 
    tiles += "\n" 
    y+=1 
    x=0 
print(tiles) 

答えて

3

多分これは役立ちます:ANSI Escape Sequences

ホームコマンドは'\x1b[0;0H'だろう。

+1

正しく動作しない(または正しく実装されていない)ようです。私はsys.stderr.write( "\ x1b [0; 0H")]を使ってみましたが、(カーソルを移動するのではなく)ばかげた出力しか出ません。 "\ x1b [u"と "\ x1b [s" – Mattisdada

+0

あなたの端末がANSI(DOSプロンプト、つまりcmd.exeです)の場合、それはうまくいくはずですあなたは何か他のものを使用している必要があり、何を説明する必要があります。 –

0

価値があるのは、Windows互換のcursesライブラリであるPDCursesをラップするpythonパッケージです。パッケージUniCursesは、PDCurses(Windows下)またはPythonのネイティブcursesモジュールとの統一されたインターフェイスを提供するので、クロスプラットフォームのcursesアプリケーションの作成に使用できます。あなたのニーズには、Mike Desimoneの答えが十分であるかもしれません。