python批量替换文件_python实现文件名批量替换和内容替换
指定文件夹,指定文件类型,替换该文件夹下全部文件的内容。
注意在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实现文件名批量替换和内容替换相关推荐
- python批量读取文件名_Python实现文件名批量处理
我们知道文件名是可以手动修改的,但是如果要同时修改多个文件名,那一个一个修改会浪费掉很多时间,此时我们就可以考虑使用python来实现文件名的批量处理.想要批量处理文件名首先确定需要处理的文件名,以及 ...
- 【教程】几秒钟批量处理文件夹内文件名中相同的部分名字的相同部分去掉或替换掉,如何批量修改文件名?
看到好多人问如何批量修改文件名,主要问题包括以下类型: 1.在一个文件夹内或者子文件夹内,文件名中相同的部分名字统一删掉 2.在一个文件夹内或者子文件夹,有很多文件名种有关键字要替换成某个文字 3.如 ...
- python批量新建文件_python批量处理
python opencv图像二值化批量处理 from skimage import data_dir,io,transform,color,filters import numpy as np im ...
- python批量删除文件1001python批量删除文件_Python实现递归遍历文件夹并删除文件...
思路: 遍历文件夹下面的文件夹 如果文件夹名称等于".svn",则修改文件夹的属性(因为".svn"的文件都是只读的,你不能直接删除) 删除此文件夹 如果文件夹 ...
- python 批量处理文件_python批量处理文件或文件夹
# -*- coding: utf-8 -*- import os,shutil import sys import numpy as np ##########批量删除不同文件夹下的同名文件夹### ...
- python怎么批量移动文件_python中批量移动目录所有文件函数
#encoding:utf-8 import os,sys import shutil from shutil import Error from shutil import copystat fro ...
- java批量提取文件夹名称_bat 批量提取指定目录下的文件名
bat 批量提取指定目录下的文件名 下面是批量获取指定目录下的文件名的核心代码 @echo off echo text input set input= set /p input=: echo %in ...
- cooleditpro批量加速文件_Python玩转阿里云OSS对象存储,批量转存markdown和html图片
今天我又在玩自己的博客了,偶然发现我从语雀批量导入的文章,在手机端图片只显示一部分,怀疑是网站防盗链,于是想把图片全部转移到我的阿里云对象存储里面. 但是找了半天都找不到现成的工具和代码,无奈只能自己 ...
- python 批量增加文件前缀_linux中批量添加文件前缀的操作方法
linux中批量添加文件前缀的操作方法 需要在文件夹内所有txt文件的文件名前面添加"gt_"; 就是由原来的文件"xxx.txt"变成"gt_xxx ...
最新文章
- 建立实体-关系模型2
- 浅谈身为小白学习Linux系统的四点实用建议
- html5实现ios长按图标后进入图标排序及删除功能的效果
- xen虚拟机的启动(引导)方式
- ubuntu多版本python和pip切换
- 高级C语言教程-中断和设备驱动
- Win10还原被Windows Defender隔离的文件
- WinCC V7.5安装过程截图
- 华为 “VRRP” 多备份组
- html 椭圆特效,HTML帖图常用到的特效《椭圆形》(国外英语资料).doc
- 百度编辑器Ueditor 多图上传出现部分照片尺寸不压缩的问题解决
- win10 C盘优化清理
- 中国股市:史上最新A股龙头股票
- Json汉化-使用JavaScript和百度翻译API免费实现Json文件的汉化
- 最近在论证一个问题,到底是先有鸡还是先有蛋:
- 激光多普勒振动测量技术简述
- JavaScript 原型链总结(一)
- 18001 Farmer Cat
- 学习笔记-Windows 安全
- IT运维的几个关键绩效指标
热门文章
- 【leetcode】25. Reverse Nodes in k-Group 链表按K分段逆序
- 为什么我的IP地址经常变化
- [转]RamDisk导致远程桌面客户端无法启动问题
- MySQLdb不能调用Sql脚本?
- 批处理也玩创建快捷方式
- 新东厂西厂时代——纪念被阉割了的手机——戏说移动的“×××短信”标准
- 【收藏】ASP.NET英文技术文章推荐[10/28 – 11/3]
- Golang sort 排序
- Office Word 使用笔记
- Linux 命令(12)—— wc 命令