2017-02-10 14 views
0

Pythonを使用してstdoutの特定の行に印刷したいと思います。Pythonを使用してstdoutの特定の行に印刷

いいえ、ループ内にループがあります。現在は、この印刷します

a0,b0,c0,a1,b1,c1,a2,b2,c2, 

をしかし、実際に私はそれがこれを印刷したい:

a0,a1,a2, 
b0,b1,b2, 
c0,c1,c2, 

コードは、この

輸入SYS

ar = ['a', 'b', 'c'] 
for i in ar: 
    c = 1 
    while c < 4: 
     sys.stdout.write('%s%s,' % (i, c)) 
     c += 1 

ようになりますありますラインを特定する方法?たとえば、ラインXに印刷しますか?

または、3行をstdout( '\ n'を使用)に書き込んだ後、1​​行目を上書きすることはできますか?

注:私は上記を達成したいだけではありません!私はそのループを変更することによって行うことができます - 質問はblessingsライブラリは、このための偉大に見える、標準出力の異なるラインを特定し、

おかげ

+1

[渡す\ nの標準出力throught sysの引数に(改行)](の可能性のある重複http://stackoverflow.com/questions/5715414/passing-n-new -line-on-stdout-throught-sys-argument) – doctorlove

+0

@doctorloveなぜですか?それは引数として渡されていないように見える....または私は何かが不足している?彼は 'sys.stdout.write'のためにsysを使っています.... – fedepad

+0

@doctorlove私は新しい行について知っています。それを使うとうまくいきます:)これは次の行だけでなく 'X'行に書き込むことです'\ n') –

答えて

0

@hopが示唆されているように、可能な場合、それらへの書き込みについてです。例

from blessings import Terminal 

term = Terminal() 
with term.location(0, term.height - 1): 
    print 'Here is the bottom.' 

については、私の例では

、以下の作品の線に沿って何か。それは私が探していた出力を与えます。

from blessings import Terminal 

term = Terminal() 

print '.' 
print '.' 
print '.' 


ar = ['a', 'b', 'c'] 
x = 1 
for i in ar: 
    c = 1 
    while c < 4: 
     with term.location(c*3-3, term.height - (5-x)): 
      print str(i)+str(c-1)+',' 
     c += 1 
    x += 1 

ができます:

a0,a1,a2, 
b0,b1,b2, 
c0,c1,c2, 
関連する問題