# -*- coding: utf-8 -*-
import fileinput
filePath = 'd:/test.txt'
page_size = 5 #每页显示的行数
page_num = 1 #前端的当前页数
current_num = 0 #从当前行数开始读取
record_count = 0 #文件总数据条数
flag = False #用来标记是否到了需读取的起始行号
init_flag = True #是否为初次加载
res = [] #结果集
result = {'count' : 0, 'res' : []} #最终结果集
if init_flag:
'''
如果前端是初次加载,init_flag = true, 计算文件总数,计算后将init_flag 置为false,下次翻页不再做总数统计
'''
temp_f = open(filePath, 'r')
for count, line in enumerate(open(filePath, 'r')):
record_count += 1
temp_f.close()
init_flag = False
for eachline in fileinput.input(filePath):
'''
此部分用来读取需要显示部分的数据
'''
line_no = fileinput.filelineno() #当前读取的行号
if not flag:
if line_no == (page_num - 1)*page_size + 1:
flag = True
if flag:
if line_no > (page_num - 1)*page_size and line_no <= page_num*page_size:
res.append(eachline)
else:
current_num = line_no
fileinput.close();
break;
result['count'] = record_count
result['res'] = res
print result
# -*- coding: utf-8 -*-
import fileinput
filePath = 'd:/test.txt'
pagesize = 5 #每页显示的行数
pageindex = 1 #前端的当前页数
current_num = 0 #从当前行数开始读取
record_count = 0 #文件总数据条数
flag = False #用来标记是否到了需读取的起始行号
init_flag = True #是否为初次加载
res = [] #结果集
result = {'count' : 0, 'res' : []} #最终结果集
if init_flag:
'''
如果前端是初次加载,init_flag = true, 计算文件总数,计算后将init_flag 置为false,下次翻页不再做总数统计
'''
temp_f = open(filePath, 'r')
for count, line in enumerate(open(filePath, 'r')):
record_count += 1
temp_f.close()
init_flag = False
for eachline in fileinput.input(filePath):
'''
此部分用来读取需要显示部分的数据
'''
line_no = fileinput.filelineno() #当前读取的行号
if not flag:
if line_no == record_count - pageindex*pagesize + 1:
flag = True
if flag:
if line_no >= record_count - pageindex*pagesize + 1 \
and line_no < record_count - (pageindex - 1)*pagesize + 1:
res.append(eachline)
else:
fileinput.close();
break;
result['count'] = record_count
result['res'] = res
print result