2012-03-27 24 views
0

出力をフラッシュするときに、行末に余分な文字を取り除くにはどうすればよいですか?後続出力を取り除く

出力: '=' のiのを取り除くしたいものであることを

{Fifth Level} Last Key Ran: 7 Output: -7 = 

コード:

for number in str(fourth_level): 
    x=int(number) 
    x=x^(priv_key-pub_key) 
    print "\r{Fifth Level} Last Key Ran:",str(number),"Output:",x, 
    sys.stdout.flush() 
    time.sleep(sleep_time) 
    fifth_level.append(x) 

また1行下に行くか、形式を変更せずに同時にデータを出力する複数行を取得する方法はありますか? flushを使用すると、2行目の出力を取り除きます。

+0

また、末尾の出力が異なりますが、時には '='だけではありません。 –

+4

あなたのコードは=を表示しないので、他の場所から来ています。 – kindall

+0

@kindallはい私は何が間違っていたかを見つけました。それを確認していただきありがとうございます。 –

答えて

1

補足として、printステートメントの,x,部分を確認してください。 「x」は魚介類です。

文字列を操作する場合は、最初にすべてを一時文字列に書き込んでみてください。その文字列を編集することができます。これにより、編集のコントロールが強化されます。

また、rstripは、表示されている文字が一貫している場合は、このトリックを行う可能性があります。

参照: * http://docs.python.org/library/string.html "string.rstrip(s [、chars])後続文字を削除した文字列のコピーを返します。