zoukankan      html  css  js  c++  java
  • python正则操作大文件

    打开文件的模式说明

    打开文件的模式有(默认为文本模式):
    模式 说明
    r 只读模式,也是默认模式,文件必须存在,不存在则跑出异常;
    w 只写模式,不可读;不存在则创建,存在的话如果有进行写入动作则清空文件内容并写入新内容,如果没有写入动作则只打开不清空文件;
    a 只追加模式,不可读,不存在则创建,存在则只在末尾追加内容;

    修改文件内容方法一

    import os
    with open('a.txt') as read_f,open('.a.txt.swap','w') as write_f:
        data=read_f.read() #全部读入内存,如果文件很大,会很卡
        data=data.replace('test','test2') #在内存中完成修改
        write_f.write(data) #一次性写入新文件
    

    修改文件内容方法二

    硬盘存放的该文件的内容一行一行地读入内存,修改完毕就写入新文件,最后用新文件覆盖源文件;

    import os
    with open('a.txt') as read_f,open('.a.txt.swap','w') as write_f:
        for line in read_f:
            line=line.replace('test','test2')
            write_f.write(line)
    os.remove('a.txt')
    os.rename('.a.txt.swap','a.txt')
    

    正则表达式

    介绍

     正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符以及这些特定字符的组合,组成一个“规则字符串”,这个规则字符串用来表达对字符串的一种过滤逻辑;

    特点

    a.逻辑性、灵活性和功能性非常强;
    b.可以迅速用极简的方式达到字符串的复杂控制;
    c.对于刚接触的人来说,比较晦涩难懂

    场景

    a.从大段的文字中找到符合规则的内容;
    b.爬虫,从网页的字符串中获取你想要的数据;
    c.日志分析,提取所需要的数据;
    d.判断某个字符串是否完全符合规则:比如表单验证:手机号、QQ号、邮箱、银行卡、身份证。。。

    正则表达式的规则:

    制定好正则表达式的规则,然后从指定的字符串中找到符合规则的子串;

    python中的正则表达式分类

    a.元字符  b.模式  c.函数  d.re内置对象用法  e.分组用法  f.环视用法
    所有关于正则表达式的操作都使用python标准库的re模块;

  • 相关阅读:
    leetcode -- Add Binary
    leetcode -- 4sum
    leecode -- 3sum Closet
    C++单例模式
    MapReduce的模式、算法和用例
    react 学习笔记
    css3 文字过长用...代替
    scss/css 中添加ie hack
    springmvc 解决跨域CORS
    springmvc 添加Junit4
  • 原文地址:https://www.cnblogs.com/chenxiba/p/11855822.html
Copyright © 2011-2022 走看看