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模块;

  • 相关阅读:
    401. Binary Watch
    46. Permutations
    61. Rotate List
    142. Linked List Cycle II
    86. Partition List
    234. Palindrome Linked List
    19. Remove Nth Node From End of List
    141. Linked List Cycle
    524. Longest Word in Dictionary through Deleting
    android ListView详解
  • 原文地址:https://www.cnblogs.com/chenxiba/p/11855822.html
Copyright © 2011-2022 走看看