0

さまざまな物理現象を測定する科学実験を実行するために使用されるモジュールを実行する for ループを実行する Python スクリプトがあります。for ループを続行し (現在の測定をスキップ)、次の測定シーケンスを開始する、プログラムによって認識されるキーボード シーケンスを作成したいと考えています。

    measurement = EXPERIMENT()
    for m in measurement:

        SciExpMeasure(value1,value2, value3)

ユーザーが何らかのキーボード シーケンス (例: 'Ctrl+n') を入力できるようにしたいと考えています。

    measurement = EXPERIMENT()
    for m in measurement:
        if keyboardSequence: continue

        SciExpMeasure(value1, value2, value3)

ユーザーがデータ取得を監視している場合、悪い測定をスキップして次の測定に進むことができるという考え。「続行するには任意のキーを押してください」の例を調べましたが、続行する前に「何かを押す」のを待っているように見えるため、これらのオプションがこのアプリケーションで機能するとは思いません。

前もって感謝します。

4

1 に答える 1

1

msvcrtの Console I/O セクションを見てください。具体的には:

msvcrt.kbhit():

キー押下が読み取り待ちの場合は true を返します。

そして msvcrt.getch()

キープレスを読み取り、結果の文字を返します。コンソールには何もエコーされません。この呼び出しは、キーが押されていない場合はブロックされますが、Enter キーが押されるまで待機しません。押されたキーが特別なファンクション キーの場合、'\000' または '\xe0' が返されます。次の呼び出しでキーコードが返されます。Control-C キーの押下は、この関数では読み取ることができません。

于 2013-02-14T07:26:27.093 に答える