[Tutor] Scrolling through output in shell
ALAN GAULD
alan.gauld at btinternet.com
Mon Nov 17 20:27:43 CET 2008
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.
More information about the Tutor
mailing list