• 使用Python实现读取TXT小说文件按每一回显示打印出来


    大家好,我是皮皮。

    一、前言

    前几天在Python铂金交流群【红色基因代代传】问了一个Python处理的问题,提问截图如下:

    文件里边的部分截图如下:

    大概的需求如下所示:

    二、实现过程

    这里【Python进阶者】根据需求,写了一份代码,如下所示:

    import re
    with open('西游记.txt', 'r', encoding='utf-8') as f:
        text = f.read()
    regex = re.compile(r'.*?《》(.*?)《》.*?', re.S)
    result = re.findall(regex, text)
    print(len(list(result)))
    for item in result:
        print(item)
    
    

    可以得到如下的效果:

    后来【瑜亮老师】发现了一个问题,并且指出:

    改进后的代码如下所示:

    import re
    
    with open('西游记.txt', 'r+', encoding='utf-8') as f:
        txt = f.read()
    
    rex1 = r'《》目录 (.*?)\n\n\n'
    rex2 = r'《》目录 (第一百回.*?《西游记》至此终。)'
    result = re.findall(rex1, txt, re.S)
    temp = re.findall(rex2, txt, re.S)
    result += temp
    # print(len(result))
    for item in result:
        print(item)
    
    

    运行之后,可以得到下图的结果:

    顺利地解决了粉丝的问题。

    三、总结

    大家好,我是皮皮。这篇文章主要盘点了一个Python文本处理的问题,文中针对该问题,使用正则表达式匹配出想要的结果,并给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

    最后感谢粉丝【红色基因代代传】提问,感谢【Python进阶者】、【瑜亮老师】给出的思路和代码解析,感谢【冫马讠成】、【D I Y】等人参与学习交流。

  • 相关阅读:
    正则表达式
    C# 通过socket实现UDP 通信
    ApacheServer-----关于443端口被占用的解决方法
    UGUI防止点击穿透
    下载YouTube视频的网站和工具
    模块调用顺序
    安装drupal对服务器环境的要求
    解决win64无法添加curl扩展的问题
    php调用c# webservice方法
    drupal6提示 Compilation failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 9 on line 615
  • 原文地址:https://www.cnblogs.com/dcpeng/p/16729213.html
Copyright © 2020-2023  润新知