python批量替换文件名部分文字_python实现文件名批量替换和内容替换

python批量替换文件名部分文字_python实现文件名批量替换和内容替换指定文件夹 指定文件类型 替换该文件夹下全部文件的内容 注意在 window 下的读写内容需要指定编码 还需要在文件头指定 coding utf 8 编码 避免出现编码问题 coding utf 8importosimp pathpath oldStr php newStr html for dirpath dirnames filenames inos wal

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

注意在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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201793.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午8:36
下一篇 2026年3月20日 上午8:36


相关推荐

  • cpu天梯图2022 cpu性能排行榜2022最新版

    cpu天梯图2022 cpu性能排行榜2022最新版2022 年的 CPU 最新天梯图出炉了 相信很多的用户都对 CPU 非常的关注吧 一款好的 CPU 能够给你带来了质的飞升 下面就带来了 2022 年最新最全 CPU 性能天梯高清大图 如果你很关注 cpu 就赶快来看看吧 组装电脑怎么搭配更合适这些点很重要看过你就懂了 http www adiannao cn du 如何选 CPU 一 CPU 的主频 1 CPU 的主频我们平时也称之为频率 CPU 的主频越高其性能就越好 CPU 的主频越高在更短的时间内处理完成的运算或者指令就越快 2 小编举个干活劳动例子吧 小军 人名字 在 3

    2026年3月17日
    3
  • 电脑关闭445端口_计算机端口在哪里设置

    电脑关闭445端口_计算机端口在哪里设置win7关闭445端口命令是什么?在我们使用的windows7旗舰版操作系统中默认开启了445端口,这个端口会遭到病毒的攻击,所以我们需要将其关闭。本文中winwin7小编给大家分享介绍下使用cmd命令提示符来关闭445端口的详细操作方法,有需要的用户快参考下面步骤来设置关闭445端口吧!455端口关闭教程:1、首先我们来看看当前系统都开放了那些端口,使用快捷键Win+R调出运行窗口,输入cmd…

    2022年10月9日
    4
  • 汉字转拼音 文字集

    汉字转拼音 文字集publicclassChEnRow{publicstring[]enfull;}privatestaticList<ChEnRow>CEFullTable=newList<ChEnRow>{newChEnRow{enfull=newstring[]{“a,啊阿呵吖嗄腌锕錒”,”ai…

    2022年6月21日
    28
  • 【PyCharm】安装第三方库

    【PyCharm】安装第三方库在使用 PyCharm 过程中 会遇到库缺失问题 那么该如何安装第三方库呢 本文是对该问题的处理

    2026年3月26日
    3
  • Linux文件系统目录结构详解

    Linux文件系统目录结构详解引言对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面我们就开始了解一下linux目录结构的相关知识。在Linux或Unix操作系统中,所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构。linux

    2022年5月13日
    46
  • Nhibernate 使用 (一)

    Nhibernate 使用 (一)一:介绍NHibernate是一个基于.Net的针对关系型数据库的对象持久化类库。Nhibernate来源于非常优秀的基于Java的Hibernate关系型持久化工具。NHibernate

    2022年7月4日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号