1.讀取小文件,並進行分頁
商品|價格
飛機|1000
大炮|2000
迫擊炮|1000
手槍|123
.....
lis = [] n = 10 #每頁顯示10條信息 with open('小文件',mode='r',encoding='utf-8')as f: content = f.readlines() for line in content: line_str = " ".join(line.strip().split('|')) #讀取每一行,去換行符,轉化成'飛機 1000' lis.append(line_str) #將每條字符串添加至列表中 first_line = lis.pop(0) #刪除列表中的第一個元素 ,即第一行內容,並賦給first_line page,end = divmod(len(lis),n) #若是end!=0則最後一頁有內容 if end != 0: page+=1 #頁碼總數+1,爲真正頁碼數 num = int(input('請輸入頁碼:')) each_page_content = lis[(num-1)*n:num*n] for i in range(len(each_page_content)): print(i+1,each_page_content[i])
2.讀取大文件app
讀取大文件(100G),並進行分頁
商品|價格
飛機|1000
大炮|2000
迫擊炮|1000
手槍|123
.....
while True: n = 10 count = 0 lis_page = [] num = int(input('請輸入頁碼:')) page_ends = num*n page_starts = (num-1)*n with open('大文件',mode='r',encoding='utf-8')as f: first_line = f.readline() #讀完第一行後,光標到了第一行結尾 ,繼續讀取文件從第二行開始 print(first_line) #讓每次循環時都打印第一行 for line in f: count += 1 if page_ends < count : break if page_starts < count: lis_page.append(line) for i in range(len(lis_page)) : print(i+1,lis_page[i])