正则表达式 - (急)用python将文件清空?

查看:130
本文介绍了正则表达式 - (急)用python将文件清空?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我现在在用python3批量的改一堆文件:比如把所有bbb改成a。
我写的是:

    with open(filename, 'r+', encoding='utf-8') as f:
        content = f.read()
        content = re.sub('bbb', 'a', content)

        f.truncate()//我上网找的说这个是清空文件?
        f.seek(0, 0)
        f.write(content)

但是会有问题:
原文件:bbb
新文件:abb

加了truncate也没有清除。
由于r+打开是覆盖着写,就变成这样了
怎么样才能把它改成a

急!求救啊。。。

解决方案

with open('a.txt', 'r+') as f:
    content = f.read().replace('bbb', 'a')
    f.seek(0)
    f.write(content)

#如果你要指定编码格式,应该这样写
import codecs
with codecs.open('a.txt', 'r+', encoding='utf-8') as f:
    content = f.read().replace('bbb', 'a')
    f.seek(0)
    f.write(content)

这篇关于正则表达式 - (急)用python将文件清空?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆