容器化实战培训,联系微信号xilongmao,个人github地址https://github.com/ziyilongwang/k8s-salt

张龙-运维架构师

君子务本,本立而道生

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

posted @ 2019-11-14 11:22  紫翼龙王-夜  阅读(493)  评论(0编辑  收藏  举报
levels of contents