[Tutor] Scrolling through output in shell

Mike Hoy mhoy06 at gmail.com
Mon Nov 17 20:35:05 CET 2008


Ok thanks Alan for looking into it. I'll give it a try.

On Mon, Nov 17, 2008 at 12:27 PM, ALAN GAULD <alan.gauld at btinternet.com> wrote:
> Forwarding to the group.
> Please use Reply All when responding.
>
>
> ----- Original Message ----
> From: Mike Hoy <mhoy06 at gmail.com>
> To: Alan Gauld <alan.gauld at btinternet.com>
>
>
>> I'm writing a program that reads a text file onto the screen. The text
>> file is too large to read so I want to be able to scroll through it
>> with the arrow key or something like that. I am not using GUI.
>
> In that case you need to write some screen handling code to
> do the paging. Ideally that means working out how many lines
> the screen can display then displaying the data in chunks of
> that size. Basic screen handling can be as simple as hit return
> to contnue. But if you want to page up as well then you need a
> bit more. Here is some pseudo (ie. incomplete and untested) code:
>
> data = myfile.readlines()
> size = 25 ## get real screen length here!
> top = 0
>
> while True:
>   try:
>      for line in data[top:top+size]:
>           print line
>      key = raw_input("N for Next page, P for Previous page, Q to Quit")
>      if key in 'Nn': top += size
>      elif key in 'Pp': top -= size
>      elif key in 'Qq': break
>   except IndexError: break
>
> Obviously you can make the control keys as sophisticated as you want!
>
> HTH,
>
> Alan G.
>
>



-- 
Mike Hoy


More information about the Tutor mailing list