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