指定文件夹,指定文件类型,替换该文件夹下全部文件的内容。
注意在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
文件名批量替换
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]