def refresh_window(tot_before, tot_after, pnic_before, pnic_after):
 global lineno
 print_line(('total bytes:           sent: %-10s   received: %s' % (bytes2human(tot_after.bytes_sent), bytes2human(tot_after.bytes_recv))))
 print_line(('total packets:         sent: %-10s   received: %s' % (tot_after.packets_sent, tot_after.packets_recv)))
 print_line('')
 nic_names = list(pnic_after.keys())
 nic_names.sort(key=(lambda x: sum(pnic_after[x])), reverse=True)
 for name in nic_names:
  stats_before = pnic_before[name]
  stats_after = pnic_after[name]
  templ = '%-15s %15s %15s'
  print_line((templ % (name, 'TOTAL', 'PER-SEC')), highlight=True)
  print_line((templ % ('bytes-sent', bytes2human(stats_after.bytes_sent), (bytes2human((stats_after.bytes_sent - stats_before.bytes_sent)) + '/s'))))
  print_line((templ % ('bytes-recv', bytes2human(stats_after.bytes_recv), (bytes2human((stats_after.bytes_recv - stats_before.bytes_recv)) + '/s'))))
  print_line((templ % ('pkts-sent', stats_after.packets_sent, (stats_after.packets_sent - stats_before.packets_sent))))
  print_line((templ % ('pkts-recv', stats_after.packets_recv, (stats_after.packets_recv - stats_before.packets_recv))))
  print_line('')
 win.refresh()
 lineno = 0

def refresh_window ( tot_before , tot_after , pnic_before , pnic_after ) : global lineno print_line ( ( 'total bytes:           sent: %-10s   received: %s' % ( bytes2human ( tot_after . bytes_sent ) , bytes2human ( tot_after . bytes_recv ) ) ) ) print_line ( ( 'total packets:         sent: %-10s   received: %s' % ( tot_after . packets_sent , tot_after . packets_recv ) ) ) print_line ( '' ) nic_names = list ( pnic_after . keys ( ) ) nic_names . sort ( key = ( lambda x : sum ( pnic_after [ x ] ) ) , reverse = True ) for name in nic_names : stats_before = pnic_before [ name ] stats_after = pnic_after [ name ] templ = '%-15s %15s %15s' print_line ( ( templ % ( name , 'TOTAL' , 'PER-SEC' ) ) , highlight = True ) print_line ( ( templ % ( 'bytes-sent' , bytes2human ( stats_after . bytes_sent ) , ( bytes2human ( ( stats_after . bytes_sent - stats_before . bytes_sent ) ) + '/s' ) ) ) ) print_line ( ( templ % ( 'bytes-recv' , bytes2human ( stats_after . bytes_recv ) , ( bytes2human ( ( stats_after . bytes_recv - stats_before . bytes_recv ) ) + '/s' ) ) ) ) print_line ( ( templ % ( 'pkts-sent' , stats_after . packets_sent , ( stats_after . packets_sent - stats_before . packets_sent ) ) ) ) print_line ( ( templ % ( 'pkts-recv' , stats_after . packets_recv , ( stats_after . packets_recv - stats_before . packets_recv ) ) ) ) print_line ( '' ) win . refresh ( ) lineno = 0
print results on screen by using curses .