def view_per_data(page_num, per_page_data):
'''
获取指定页码的数据
:param page_num: 页码
:param per_page_data: 每页数据
:return:
'''
page_num = int(page_num)
per_page_data = int(per_page_data)
view_data = []
view_data_count = 0
file_data = open('test.txt',mode='r',encoding='utf-8')
stat_index = (page_num - 1) * per_page_data
end_index = page_num * per_page_data
for line in file_data:
if stat_index <= view_data_count < end_index:
view_data.append(line.strip())
if view_data_count >= end_index:
break
view_data_count += 1
return view_data
def news_title(page_num, per_page_data):
'''
指定页码数据展示处理
:param page_num: 页码
:param per_page_data: 每页数据
:return:
'''
news_list = view_per_data(page_num, per_page_data)
index = (page_num - 1) * per_page_data + 1 #起始id
#处理数据展示指定数据内容和数据下标
for num, line in enumerate(news_list, index):
data = line.strip().split(',')[1]
print(f'{num} {data}')
def execute_view():
'''
执行指定页码数据查看操作
:return:
'''
per_page_data = 10
page_count = 999
# 计算页码最大值
max_page_num, remainder = divmod(page_count, per_page_data)
if remainder:
max_page_num += 1
while True:
num = input(f'请输入页码,页码范围{0}~{max_page_num}:').strip()
if num.isdigit():
num = int(num)
if num > max_page_num or num < 1:
continue
news_title(num, per_page_data)
if num == 'Q':
break