Python 实现原址读写

在工程中,总要保存不同名字的文本,及占用空间也不利于整理,所以实现了一个Python原址读写的代码,事实上,改代码并不是原址读写,仅仅是生成一个temp临时文件,再删除源文件,最后将该临时文件移到源文件位置。

import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
import codecs

def replace(file_path, pattern, subst):
    '''
    :param file_path: 输入文件
    :param pattern:输入待修改的词
    :param subst:目标词
    :return:
    '''

    fh, abs_path = mkstemp()#Create temp file
    print abs_path
    with codecs.open(abs_path,'w','utf-8') as new_file:
        with codecs.open(file_path,'r','utf-8') as old_file:
            print(old_file)
            for line in old_file:
                line.replace(pattern, subst)
                print line
                new_file.write(line.replace(pattern, subst))
    close(fh)
    #Remove original file
    remove(file_path)
    #Move new file
    move(abs_path, file_path)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值