Python版more程序 [Python]



[root@lvdbing System]# cat more.py
#########################################################
# split and interactively page a string or file of text;
#########################################################
def more(text, numlines=15):
    lines = text.split('\n')
    while lines:
        chunk = lines[:numlines]
        lines = lines[numlines:]
        for line in chunk: print line
        if lines and raw_input('More?') not in ['y', 'Y']: break
     
if __name__ == '__main__':
    import sys # when run, not imported
    more(open(sys.argv[1]).read(), 10) # page contents of file on cmdline
设置numlines默认显示的行数为15行,然后以分行符'\n'分割文件,并存储到元组lines里。
chunk将读15行内容,然后将lines去掉前15行,并将前15行输出。
等待输入'More?',如果输入的不是'y'或'Y'则退出。