Vai al menù, saltando i contenuti (access key "m")
Python. Interfacce testuali
Caso più semplice
# output print(...) # input pippo = input(...) # pulire lo schermo: usando tante righe vuote print('\n' * 50) # pulire lo schermo: usando le funzioni del S.O. def clrDisp(numlines=50): if os.name == 'posix': os.system('clear') elif os.name in ('nt', 'dos', 'ce'): os.system('CLS') else: print('\n' * numlines)
Opzioni da riga di comando
Le due possibilità più famose per gestire le opzioni o i parametri da passare da riga di comando sono
la lista sys.argv
del modulo sys o il modulo, molto più elaborato, argparse.
Esempio con sys.argv
. Se si salva il seguente codice in un file .py, esempio pippo.py,
e lo si esegue da riga di comando aggiungendo dei parametri, per esempio python pippo.py ciao pluto
,
la lista sys.argv conterrà 3 oggetti. Il primo sarà il nome dello script e gli altri due le stringhe "ciao" e "pluto".
import sys print("This is the name of the script: ", sys.argv[0]) print("Number of arguments: ", len(sys.argv)) print("The arguments are: " , str(sys.argv))
Ecco invece un esempio con argparse. Le opzioni e le regole per gestirle vengono memorizzate come attributi dell'oggetto ArgumentParser. Il parsin vero e proprio avviente in un secondo momento tramite il metodo parse_args() dell'ArgumentParse che crea a sua volta un oggetto in cui gli attributi sono le opzioni passate da riga di comando.
import argparse parser = argparse.ArgumentParser() parser.add_argument("pippo") args = parser.parse_args() if args.a == 'bello': print('Sono bello!')
Threads
MSVCRT (solo Windows)
import msvcrt while True: if msvcrt.kbhit(): pippo = msvcrt.getch() if pippo.decode('ASCII') == 'x': break
Curses
Linux e Mac: curses. Anche se si vuole sviluppare più semplicemente per tutte le piattaforme si può usare UniCurses.
In Windows non c'è curses. Si può usare UniCurses.