venerdì 5 aprile 2024

Digitazione senza fare apparire nulla su schermo

 Per immettere password da linea di comando o comunque dati che non vogliamo fare visualizzare a video, questo è lo script di esempio scritto in python:


import termios

import sys

def getch():

  fd = sys.stdin.fileno()

  old_settings = termios.tcgetattr(fd)

  try:

    new_settings = termios.tcgetattr(fd)

    new_settings[3] &= ~termios.ICANON & ~termios.ECHO

    termios.tcsetattr(fd, termios.TCSANOW, new_settings)

    car = sys.stdin.read(1)

  finally:

    termios.tcsetattr(fd, termios.TCSANOW, old_settings)

  return car

stringa=""

while True:

  carattere = getch()

  if carattere == "\n":

    break

  else:

    stringa=stringa+carattere

print("Hai digitato:",stringa,end='')