前提
Pythonで、プログラムの終了後に「%」が出力されます。
これが邪魔なので消したいです。
https://stackoverflow.com/questions/36270945/percent-sign-at-the-end-of-the-output-of-python-script
こちらの回答によると改行を入れればよいとのことですが、プログラムの使用上改行入れたくありません。(タイマーを上書きして表示されるため)
該当のソースコード
ルービックキューブの計測タイマーを作っています。
動作としては、
- スペースを長押し
- スペースが離されたら計測開始
- 再度スペースが押されたら終了
といった流れになっています。
Python
1import keyboard 2import sys 3import time 4 5 6while True: 7 if keyboard.is_pressed('space'):#一度目のスペースキー 8 print("\rReady") 9 while keyboard.is_pressed('space'):#離されるまで繰り返す 10 #スペース入力を消す 11 sys.stdout.write("\033[2K\033[G") 12 sys.stdout.flush() 13 print('\rStart') 14 start_time = time.time() 15 while not keyboard.is_pressed('space'): #二度目のスペースキー 16 stop_time = time.time() 17 result = stop_time - start_time 18 print('\r%.2f' %result, end='')#タイマー表示 19 #<この位置に改行を入れても消えませんでした> 20 break
補足情報
動作環境
MacBook Air m1
Python 3.9.6
zsh