python实现文件名批量替换和内容替换


Posted in Python onMarch 20, 2014

指定文件夹,指定文件类型,替换该文件夹下全部文件的内容。

注意在window下的读写内容需要指定编码,还需要在文件头指定#coding:utf-8 编码,避免出现编码问题。

#coding:utf-8 
import os
import os.path
path='.'
oldStr='.php'
newStr='.html'
for (dirpath, dirnames, filenames) in os.walk(path):
    for file in filenames:
        if os.path.splitext(file)[1]=='.html':
            print(file)
            filepath=os.path.join(dirpath,file)
            try:
                text_file = open(filepath, "r")
                lines = text_file.readlines()
                text_file.close()
                output  = open(filepath,'w',encoding= 'utf-8')
                for line in lines:
                    #print(line)
                    if not line:
                        break
                    if(oldStr in line):
                        tmp = line.split(oldStr)
                        temp = tmp[0] + newStr + tmp[1]
                        output.write(temp)
                    else:
                        output.write(line)
                output.close()
            except Exception:
                print(Exception)
                break

这个示例可以批量替换文件名和内容

#!/usr/bin/env python
# -*- coding: utf-8 -*-import os, re
def multi_replace(text, adict):
    rx = re.compile('|'.join(map(re.escape, adict)))
    def xlat(match):
        return adict[match.group(0)]
    return rx.sub(xlat, text)
def batrename(curdir, pairs):
    for fn in os.listdir(curdir):
        newfn = multi_replace(fn, pairs)
        if newfn != fn:
            print("Renames %s to %s in %s." % (fn, newfn, curdir))
            os.rename(os.path.join(curdir, fn), os.path.join(curdir, newfn))
        file = os.path.join(curdir, newfn)
        if os.path.isdir(file):
            batrename(file, pairs)
            continue
        text = open(file).read()
        newtext = multi_replace(text, pairs)
        if newtext != text:
            print("Renames %s." % (file,))
            open(file, 'w').write(newtext)
if __name__=="__main__":
    while True:
        oldname = raw_input("Old name: ")
        newname = raw_input("New name: ")
        if oldname and newname:
            batrename(os.path.abspath('.'), {oldname:newname})
        else: break
Python 相关文章推荐
Python写的一个定时重跑获取数据库数据
Dec 28 Python
windows下python连接oracle数据库
Jun 07 Python
Python查询IP地址归属完整代码
Jun 21 Python
Python+OpenCV人脸检测原理及示例详解
Oct 19 Python
pandas表连接 索引上的合并方法
Jun 08 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
Oct 12 Python
Python3 虚拟开发环境搭建过程(图文详解)
Jan 06 Python
Pycharm如何运行.py文件的方法步骤
Mar 03 Python
Django media static外部访问Django中的图片设置教程
Apr 07 Python
python利用xlsxwriter模块 操作 Excel
Oct 14 Python
pytorch训练神经网络爆内存的解决方案
May 22 Python
Python基础之元编程知识总结
May 23 Python
Python读写Redis数据库操作示例
Mar 18 #Python
python实现k均值算法示例(k均值聚类算法)
Mar 16 #Python
python实现保存网页到本地示例
Mar 16 #Python
利用打码兔和超人打码自封装的打码类分享
Mar 16 #Python
Python使用代理抓取网站图片(多线程)
Mar 14 #Python
python3.3使用tkinter开发猜数字游戏示例
Mar 14 #Python
Python subprocess模块学习总结
Mar 13 #Python
You might like
深入了解php4(2)--重访过去
2006/10/09 PHP
php自动适应范围的分页代码
2008/08/05 PHP
解析php中call_user_func_array的作用
2013/06/07 PHP
php利用腾讯ip分享计划获取地理位置示例分享
2014/01/20 PHP
php 无限级分类,超级简单的无限级分类,支持输出树状图
2014/06/29 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
2014/11/18 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
Cygwin中安装PHP方法步骤
2015/07/04 PHP
使用URL传输SESSION信息
2015/07/14 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
PHP7 其他语言层面的修改
2021/03/09 PHP
jquery imgareaselect 使用利用js与程序结合实现图片剪切
2009/07/30 Javascript
javascript 时间比较实现代码
2009/10/28 Javascript
input按钮的事件处理大全
2010/12/10 Javascript
chrome浏览器不支持onmouseleave事件的解决技巧
2013/05/31 Javascript
jQuery 隐藏和显示 input 默认值示例
2014/06/03 Javascript
学习Angularjs分页指令
2016/07/01 Javascript
js中获取jsp表单中radio类型的值简单实例
2016/08/15 Javascript
JavaScript中子对象访问父对象的方式详解
2016/09/01 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
vue封装swiper代码实例解析
2019/10/08 Javascript
原生js拖拽功能制作滑动条实例代码
2021/02/05 Javascript
Python结巴中文分词工具使用过程中遇到的问题及解决方法
2017/04/15 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
一月红领巾广播稿
2014/02/11 职场文书
行政内勤岗位职责
2014/04/07 职场文书
工商干部先进事迹
2014/05/14 职场文书
防灾减灾宣传标语
2014/10/07 职场文书
2015年高中班级工作总结
2015/07/21 职场文书
《七律·长征》教学反思
2016/02/16 职场文书
护士年终工作总结不会写?各科护士模板总结
2020/01/02 职场文书
详解Python描述符的工作原理
2021/06/11 Python
Golang Elasticsearches 批量修改查询及发送MQ
2022/04/19 Golang
SQL Server中的游标介绍
2022/05/20 SQL Server