python学習----msvcrtモジュール

2155 ワード

説明
  • stdinストリームがファイルまたはパイプにリダイレクトされると、入力ソーステキストのみが取得され、ユーザーインタラクティブ入力を読み取ることはできません.
  • stdin受信入力を実現し、consoleをユーザとしてインタラクションするには、標準入力ではなく特殊な口実を使用してキーボードからユーザ入力を直接読み出す必要がある.python標準ライブラリmsvcrtモジュールはこの機能を提供します.

  • 方法
    制御入出力(console I/O)
  • msvcrt.putch(char)は、キャッシュすることなく1バイト型charを出力し、自動的に改行しない
  • に用いる.
    
    >>>import msvcrt
    >>>msvcrt.putch(b'a')  
    a>>>
    

    注意:
  • この関数が受信する文字はbyte型
  • でなければならない.
  • この関数は、文字列
  • ではなく1文字しか受信できません.
  • 出力後に自動的に改行されない
  • msvcrt.putwch(unicode_char)は前回と類似しており、唯一の違いはmsvcrt.である.putwchの受信範囲はより大きく、a Unicode value
  • の受信を許可する
    >>>import msvcrt
    >>>msvcrt.putch('a')  
    a>>>
    
  • msvcrt.getche()は、キーボードキーを読み取りbyte型で返すために使用されますが、コンソール(一般的にコマンドライン)では表示されません.
  • >>>import msvcrt
    >>>msvcrt.getch()  #       a
    b'a'
    >>>ans=msvcrt.getch() #  ,      a,console       ,        ans   
    >>>ans 
    b'a'
    

    注意:
  • 入力が完了すると、リターンを押す必要がなくなり、この関数は自動的に終了します.
  • この方法ではctrl+c
  • を読み取ることができません.
  • 機能キーを押すと、それに対応するエスケープ文字や16進符号化が戻され、特殊な機能キーを押すと「000」または「xe 0」が返されます(pythonマニュアルにはこのように書かれていますが、この特殊な機能キーは何なのか、まだ分かりません)
  • pythonマニュアル原文:Read a keypress and return the resulting character as a byte string.Nothing is echoed to the console. This call will block if a keypress is not already available, but will not wait for Enter to be pressed. If the pressed key was a special function key, this will return or ‘\xe0’; the next call will return the keycode. The Control-C keypress cannot be read with this function.
  • msvcrt.getwch()は前と類似しており、唯一の違いはmsvcrt.である.getwch()の受信範囲はより大きく、a Unicode value
  • の受信を許可する
  • msvcrt.getche()とmsvcrt.getch()は似ていますが、唯一の違いはmsvcrtです.getche()はconsoleに入力を戻します
  • >>>import msvcrt
    >>>msvcrt.getche() #      a
    >>>ab'a' #   a       ,b'a'      
    >>>ans=msvcrt.getche() #      a
    a>>> #   a       
    >>>ans #  ans  
    b'a'  #  
    >>>
    

    ファイル操作file operations
    続きを待つ