2017-02-02 20 views
2

USB PDF417スキャナーから入力を取得しています - 入力は@記号の後に<Enter>キーストロークを続けて続き、別のものによって<Enter>キーストローク。この長い文字列が私の必要なものです。 USBスキャナはキーボードとして機能します。Python 3.4(Raspberry Pi)でユーザー入力を取得するときに<Enter>のキーストロークを無視する

私の問題:input()またはtkSimpleDialog()への一般的なコールは@記号を記録し、その後<Enter>キーストロークで閉じます。

さらに、getch()フィーチャーまたはmsvcrt.getch()をサポートしていないRaspbian for Raspberry PiでPython 3.4を実行しています。

<Enter>のキーストロークを無視する代替入力方法がありますか?

次に、指定した時間が経過すると入力メソッドを閉じることができます(1秒間何も入力しないなど)。

+0

実際には洗練されたソリューションではなく、 'input()'を2回使用しますか? – Aaron

+0

私はもともとこれを試してみましたが、入力が@ ABCDEFGHだった場合、結果は "@"とそれから多分 "FGH"をキャプチャすることになります。応答時間が十分ではなく、部分が見逃されている – Dominick

答えて

0

バイト数が一致する場合は、sys.stdin.read(nBytes)を使用できます。非同期ファイルの読み取りにタイムアウトを付加する場合は、オペレーティングシステムが重要になり始めます。 This投稿詳細* nixベースのシステムでそれを行う方法と、Windows上で一緒にそれをハックする方法に関するいくつかのコメント。面白い解決法は、input()と呼ぶこともできます。これはうまくいくが、非常に簡単に破損する可能性があります。

関連する問題