Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonを使用したPOSIXスタイルのTTYコントロール


termiosモジュールは、tty I/O制御用のPOSIXへのインターフェースを提供します。 Unixシステムでのみ使用できます。

termiosモジュールを使用するには、-

を使用してインポートする必要があります
import termios

このモジュールのすべてのメソッドは、ファイル記述子を引数として取ります。 termiosモジュールにはいくつかのモジュールがあります。これらは-

です。

メソッドtermios.tcgetattr(fd)

このメソッドは、指定されたファイル記述子のtty属性のリストを返します。属性は、iflag、oflag、cflag、lflag、ispeed、ospeed、ccです。

メソッドtermios.tcsetattr(fd、when、attributes)

このメソッドは、属性のリストから属性を設定するために使用されます。 2番目の引数は、属性がいつ変更されるかを決定します。 whenセクションにはいくつかの定数があります。これらは-

です
Sr.No。 属性と意味の場合
1

TCSANOW

属性をすぐに変更する

2

TCSADRAIN

キューに入れられたすべての出力を送信した後に属性を変更する

3

TCSAFLUSH

キューに入れられたすべての出力を送信した後で属性を変更し、キューに入れられたすべての入力を破棄します。

メソッドtermios.tcsendbreak(fd、duration)

ファイル記述子にブレークを送信します。継続時間がゼロの場合、0.25〜0.5秒間休憩を送信します。

メソッドtermios.tcdrain(fd)

このメソッドは、すべての出力がファイル記述子に書き込まれるまで待機するために使用されます。

メソッドtermios.tcflush(fd、queue)

このメソッドは、fdのキューデータを破棄するために使用されます。キューセレクターは、どのキューで実行されるかを指定するためにあります。 TCIFLUSH 入力キューとTCOFLUSHに使用されます 出力キュー用。およびTCIOFLUSH 両方のために。

サンプルコード

import termios, sys
def get_password(prompt= "Enter Password: "):
   file_desc = sys.stdin.fileno()
   old_pass = termios.tcgetattr(file_desc)
   new_pass = termios.tcgetattr(file_desc)
   new_pass[3] & = ~termios.ECHO
   try:
      termios.tcsetattr(file_desc, termios.TCSADRAIN, new_pass)
      password = input(prompt)
   finally:
      termios.tcsetattr(file_desc, termios.TCSADRAIN, old_pass)
   return password

出力

$ python3 example.py
Enter Password:
Entered Password: my_password

  1. PythonでGETメソッドを使用して情報を渡す

    GETメソッドは、ページリクエストに追加されたエンコードされたユーザー情報を送信します。ページとエンコードされた情報は?で区切られます次のような文字- https://www.test.com/cgi-bin/hello.py?key1=value1&key2=value2 GETメソッドは、ブラウザからWebサーバーに情報を渡すためのデフォルトのメソッドであり、ブラウザのLocation:boxに表示される長い文字列を生成します。サーバーに渡すパスワードやその他の機密情報がある場合は、GETメソッドを使用しないでください。 GETメソッドにはサイズ制限があります。リクエスト文字列で

  2. PythonでのCX_Freezeの使用

    時々私たちは非常にエキサイティングな何か違うものを作りたいと感じます、そして人間の性質によれば、私たちはいつもそれを共有するのが大好きです。 Pythonもそれらの願いを満たします。 Pythonを使用して、Pythonプログラムを友人と共有したい場合は、それを行うことができます。必要なのは、マシンのプログラムで使用されるすべてのモジュールに同じバージョンのPythonをインストールすることだけです。 まず、 pip install CX_Frezzeを使用してCX_Freezeモジュールをインストールする必要があります コマンドプロンプトのコマンド。 最初のステップは、この割り当て、