私は本を読んでそこにあるのとまったく同じコードをコピーしました。コードが行うべきことは、位置が常に同じ場所で更新されるように\ bが行を削除するということです。私の場合、それは奇妙な青い髪を引きますが。私はフラッシュ=真ではなくそれを試みたが、それは同じ結果を与える。 b pythonは文字を削除しません
while True:
x,y = pyautogui.position()
posStr = 'X: '+ str(x).rjust(4)+ ' Y: ' +str(y).rjust(4)
print (posStr, end='')
print('\b' *len(posStr), end='', flush= True)
どのようにして、出力が更新されたの効果を得ることができますか?
編集: は、より正確には: 私は次のコードがある場合:
import pyautogui
while True:
x,y = pyautogui.position()
posStr = 'X: '+ str(x).rjust(4)+ ' Y: ' +str(y).rjust(4)
print (posStr, end='')
print('\b' *len(posStr), end='', flush= True)
を私は得ること:http://i.imgur.com/U8fsvIx.png 私それが実際に必要がありますが(\ bのために印刷された奇妙な青い丸印で無限ライン
import pyautogui
while True:
x,y = pyautogui.position()
posStr = 'X: '+ str(x).rjust(4)+ ' Y: ' +str(y).rjust(4)
print ('\r'+ posStr, end='')
私はトンを得る:私はコードを使用する場合、文字)
を削除彼は次の結果を得ました:http://i.imgur.com/nznN2H3.png 私は無限のテキスト行です。 どういうわけか、私はすでに '\ r'または '\ b'のいずれかで書かれたものを削除することができません。
だから問題は何ですか?
'\ b'は、* shelまたはconsole *にステップを返すよう指示します。キャラクターの位置も消去される場合は、正確なシェルやコンソールに依存します。大部分は*ではありません。 –
一般に、 '\ r'に続いて古いものをカバーするのに十分な新しいテキストが続いていると、より確実に行をクリアすることができます。 –
[エコー回線を削除する方法](http://unix.stackexchange.com/q/26576)も参照してください。 –