继吉 发表于 2018-8-3 13:01:22

python阅读器代码

#coding:utf-8  
import time
  
tl = []   #用于存放位置
  
def readers(path,lines=5,auto=False,times=3):
  
    with open(path,"r") as f:
  
      f.seek(0,2)         #移动到末尾
  
      last = f.tell()   #记住末尾位置
  
      f.seek(0)         #移动到文档首部
  
      for i in range(lines):      #先阅读几行
  
            print(f.readline())
  
      tl.append(f.tell())         #记录位置到列表
  
      if auto == True:            #自动阅读
  
            while f.tell() < last:
  
                for i in range(lines):
  
                  print(f.readline())
  
                time.sleep(times)
  
      else:
  
            while f.tell() < last:
  
                contorl = raw_input("输入N|n向下翻页,M|m向上翻页,Q|q退出阅读! >>>")
  
                if contorl == "q" or contorl == "Q":
  
                  print("您选择退出阅读!")
  
                  break
  
                elif contorl == "n" or contorl =="N":
  
                  for i in range(lines):
  
                        print(f.readline()),
  
                  tl.append(f.tell())
  
                elif contorl == 'm' or contorl =="M":
  
                  if len(tl) == 1:
  
                        print("已经是首页啦!")
  
                        continue
  
                  elif len(tl) == 2:
  
                        f.seek(0)
  
                        for i in range(lines):
  
                            print(f.readline()),
  
                        tl.pop()
  
                        continue
  
                  else:
  
                        f.seek(tl[-3])
  
                        for i in range(lines):
  
                            print(f.readline()),
  
                        tl.pop()
  
            print("已经到文章底部了!")
  
if__name__ == "__main__":
  
    #readers("1.txt",auto=True,lines=6,times=5)
  
    readers("1.txt")
页: [1]
查看完整版本: python阅读器代码