使用python替换文件夹下的文件名称及文件内容方法介绍

示例效果:

1.替换某文件夹下的 文件夹及子文件夹 的名称 由oldstrdir 变为 newstrdir;

2.替换某文件夹下的 文件夹及子文件夹 下 所有的文件的名称 由oldstrfile 变为 newstrfile;

3.替换某文件夹下的 文件夹及子文件夹 下 所有的文件的内容 由oldstrcontent 变为 newstrcontent;

相应代码:

# -*- coding: utf-8 -*-
import os
import re
#replace dir name
def replacedirname(rootdir,oldstr,newstr):
for parent,dirnames,filenames in os.walk(rootdir,topdown=false):
for dirname in dirnames:
if oldstr in dirname:
dirnameold = os.path.join(parent,dirname)
dirnamenew = os.path.join(parent,dirname.replace(oldstr,newstr))
print(dirnameold + ‘ –> ‘ + dirnamenew)
os.rename(dirnameold,dirnamenew)
#replace file name
def replacefilename(rootdir,oldstr,newstr):
for parent,dirnames,filenames in os.walk(rootdir):
for filename in filenames:
if oldstr in filename:
filenameold = os.path.join(parent,filename)
filenamenew = os.path.join(parent,filename.replace(oldstr,newstr))
print(filenameold + ‘ –> ‘ + filenamenew)
os.rename(filenameold,filenamenew)
#replace file content name
def replacefilecontent(rootdir,oldstr,newstr):
for parent,dirnames,filenames in os.walk(rootdir):
for filename in filenames:
fileobj = os.path.join(parent,filename)
f = open(fileobj,’r+’)
all_the_lines=f.readlines()
f.seek(0)
f.truncate()
for line in all_the_lines:
f.write(line.replace(oldstr,newstr))
f.close()
def main():
rootdir = “d:/d”
oldstr = “customertype”
newstr = “customerattr”
replacedirname(rootdir,oldstr,newstr)
replacefilename(rootdir,oldstr,newstr)
replacefilecontent(rootdir,oldstr,newstr)
if __name__==’__main__’:
main()

以上就是使用python替换文件夹下的文件名称及文件内容方法介绍的详细内容,更多请关注 第一php社区 其它相关文章!

Posted in 未分类

发表评论