前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python分页

python分页

原创
作者头像
用户1623964
修改2020-07-07 14:37:11
7120
修改2020-07-07 14:37:11
举报
文章被收录于专栏:python模块

一个简单的python分页小模块

代码语言:python
代码运行次数:0
复制
#!/usr/bin/python3
# -*- coding: UTF-8 -*-
#url连接,countdatas表数据总行数,currentpage第几页(0是第一页),everpage每页多少行,beforlaterln前后长度
def pagestr(url,countdatas,currentpage,everpage,beforlaterln):
    page=""
    intpart=countdatas/everpage
    remainderpart=countdatas%everpage #余数
    countpage=int(intpart) #取整数
    currentpage=(0 if (currentpage<0) else currentpage)
    if remainderpart==0:#余数判断
        currentpage=(countpage-1 if (currentpage>countpage-1) else currentpage)
        countpage;#总页数
        pp=currentpage+1
        strbe=""
        pagebefore=pp-beforlaterln-1
        i = pp
        while i>pagebefore :
            if i>0 and i<pp:
                strbe="<a class='num' href='"+url+"&p="+str(i-1)+"'>"+str(i)+"</a>"+strbe
            i -= 1
        if pp<=1:
            strbe=""
        else:
            strbe="<a class='num' href='"+url+"&p=0'>首页</a>"+"<a class='num' href='"+url+"&p="+str(pp-2)+"'>上一页</a>"+strbe
        strmid="<span class='current'>"+str(pp)+"</span>"
        strlater=""
        pagelater=pp+beforlaterln
        i=pp
        while i < pagelater:
            if i<countpage:
                strlater+="<a class='num' href='"+url+"&p="+str(i)+"'>"+str(i+1)+"</a>"
            i += 1
        if pp>=countpage:
            d=0
        else:
            strlater+="<a class='num' href='"+url+"&p="+str(pp)+"'>下一页</a>"+"<a class='num' href='"+url+"&p="+str(countpage-1)+"'>尾页</a>"
        page=strbe+strmid+strlater
    else:
        countpage+=1 #总页数
        currentpage=(countpage-1 if (currentpage>countpage-1) else currentpage)
        pp=currentpage+1
        strbe=""
        pagebefore=pp-beforlaterln-1
        i = pp
        while i>pagebefore :
            if i>0 and i<pp:
                strbe="<a class='num' href='"+url+"&p="+str(i-1)+"'>"+str(i)+"</a>"+strbe
            i -= 1
        if pp<=1:
            strbe=""
        else:
            strbe="<a class='num' href='"+url+"&p=0'>首页</a>"+"<a class='num' href='"+url+"&p="+str(pp-2)+"'>上一页</a>"+strbe
        strmid="<span class='current'>"+str(pp)+"</span>"
        strlater=""
        pagelater=pp+beforlaterln
        i=pp
        while i < pagelater:
            if i<countpage:
                strlater+="<a class='num' href='"+url+"&p="+str(i)+"'>"+str(i+1)+"</a>"
            i += 1
        if pp>=countpage:
            d=0
        else:
            strlater+="<a class='num' href='"+url+"&p="+str(pp)+"'>下一页</a>"+"<a class='num' href='"+url+"&p="+str(countpage-1)+"'>尾页</a>"
        page=strbe+strmid+strlater
    return "共"+str(countpage)+"页"+page
pages = pagestr('http://www.abc.com?',195,11,10,8)
print (pages)
代码语言:javascript
复制
共20页<a class='num' href='http://www.abc.com?&p=0'>首页</a>
<a class='num' href='http://www.abc.com?&p=10'>上一页</a>
<a class='num' href='http://www.abc.com?&p=3'>4</a>
<a class='num' href='http://www.abc.com?&p=4'>5</a>
<a class='num' href='http://www.abc.com?&p=5'>6</a>
<a class='num' href='http://www.abc.com?&p=6'>7</a>
<a class='num' href='http://www.abc.com?&p=7'>8</a>
<a class='num' href='http://www.abc.com?&p=8'>9</a>
<a class='num' href='http://www.abc.com?&p=9'>10</a>
<a class='num' href='http://www.abc.com?&p=10'>11</a>
<span class='current'>12</span>
<a class='num' href='http://www.abc.com?&p=12'>13</a>
<a class='num' href='http://www.abc.com?&p=13'>14</a>
<a class='num' href='http://www.abc.com?&p=14'>15</a>
<a class='num' href='http://www.abc.com?&p=15'>16</a>
<a class='num' href='http://www.abc.com?&p=16'>17</a>
<a class='num' href='http://www.abc.com?&p=17'>18</a>
<a class='num' href='http://www.abc.com?&p=18'>19</a>
<a class='num' href='http://www.abc.com?&p=19'>20</a>
<a class='num' href='http://www.abc.com?&p=12'>下一页</a>
<a class='num' href='http://www.abc.com?&p=19'>尾页</a>

希望对大家有帮助,谢谢!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档