文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

大小文件读取并分页展示

2023-01-31 00:32

关注
1.读取小文件,并进行分页
  商品|价格
  飞机|1000
  大炮|2000
  迫击炮|1000
  手枪|123
  .....
lis = []
n = 10  #每页显示10条信息
with open('小文件',mode='r',encoding='utf-8')as f:
    content = f.readlines()
    for line in content:
        line_str = " ".join(line.strip().split('|'))    #读取每一行,去换行符,转化成'飞机 1000'
        lis.append(line_str)    #将每条字符串添加至列表中
    first_line = lis.pop(0)     #删除列表中的第一个元素 ,即第一行内容,并赋给first_line
    page,end = divmod(len(lis),n)   #如果end!=0则最后一页有内容
    if end != 0:
        page+=1  #页码总数+1,为真正页码数
    num = int(input('请输入页码:'))
    each_page_content = lis[(num-1)*n:num*n]
    for i in range(len(each_page_content)):
        print(i+1,each_page_content[i])

2.读取大文件

读取大文件(100G),并进行分页
商品|价格
飞机|1000
大炮|2000
迫击炮|1000
手枪|123
.....
while True:
    n = 10
    count = 0
    lis_page = []
    num = int(input('请输入页码:'))
    page_ends = num*n
    page_starts = (num-1)*n
    with open('大文件',mode='r',encoding='utf-8')as f:
        first_line = f.readline()   #读完第一行后,光标到了第一行结尾 ,继续读取文件从第二行开始
        print(first_line)   #让每次循环时都打印第一行
        for line in f:
            count += 1
            if page_ends < count :
                break
            if page_starts < count:
                lis_page.append(line)
    for i in range(len(lis_page)) :
        print(i+1,lis_page[i])

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯