aruduinoから受け取った情報を記録するループにおいて、キー入力でループを終了させたい。

前提

aruduinoから送られてきたデータを取得し、csvファイルとして保存するループ文を作成しました。その上で、ifで条件を付け、キー入力があった時にループを抜けるような処理にしたいです。ですが、キーを押してもループが止まりません。

発生している問題・エラーメッセージ

キーを押しても反応せずループが止まりません

該当のソースコード

python

import serial import keyboard while True: ser = serial.Serial('COM3',9600,timeout=None) line = ser.readline() line = line.decode() line = line.strip('\n') line = str(line) print(line) with open('hot.csv','a')as f: writer=csv.writer(f) writer . writerow ({line}) ser.close() if keyboard.is_pressed("enter"): print('記録終了です') break f.close()

試したこと

素人のため、そもそも、このやり方でループを止められるか以下のコードを書いて調べたところ、うまくいきました。
なので、自分のパソコンにおいて、ループを
if keyboard.is_pressed("enter"):
print('記録終了です')
break
で止められることを確認しました。

python

import keyboard while True: print('fff') if keyboard.is_pressed("enter"): print('メッセージ','処理を抜けました。') break

補足情報(FW/ツールのバージョンなど)

他に必要な情報、おかしな点がありましたら、コメントで教えてください。

コメントを投稿

0 コメント