发布时间:2019-09-15 09:54:05编辑:auto阅读(1888)
最近在学习python,作业是用python写一个阅读器:
要求如下:
1,有自动阅读模式
2,可以上下翻页
实战:
代码如下:
#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")
测试:
可以修改为自动阅读模式和时间,以下是手动翻页阅读结果:
写的不是很好,如有不当之处,欢迎指正交流~
上一篇: python wx 的wx.Frame框
下一篇: 【14】Python100例基础练习(1
47847
46398
37285
34736
29317
25974
24918
19954
19548
18031
5794°
6419°
5931°
5964°
7068°
5913°
5948°
6440°
6405°
7782°