python分頁查詢數據處理方法


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM