[email protected]   15826058953
B2B外贸网站建设与运营,WEB服务器运维,始于2016。

批量替换目录下所有html页面中指定字符的python程序,并且要区别大小写

2024-02-28     LiSEO    

这是一个用于批量替换指定目录下,所有html文件(也可以修改其他文本类型的文件,根据自己的需要而定)中,替换掉指定字符内容的python程序,如果需要区分大小写进行替换,可以使用re模块来实现正则表达式替换。下面是一个更新后的示例程序:

import os
import re

def batch_replace(directory, target_string, replacement):
    for root, dirs, files in os.walk(directory):
        for file in files:
            if file.endswith(".html"):
                file_path = os.path.join(root, file)
                replace_in_file(file_path, target_string, replacement)
                print(file_path + file)
                number = number + 1
    print('共修改页面:'+ str(number) + '个')

def replace_in_file(file_path, target_string, replacement):
    with open(file_path, 'r', encoding='utf-8') as file:
        content = file.read()

    # 使用 re 模块进行区分大小写的替换
    updated_content = re.sub(re.escape(target_string), replacement, content, flags=re.IGNORECASE)

    with open(file_path, 'w', encoding='utf-8') as file:
        file.write(updated_content)

if __name__ == "__main__":
    target_directory = "your_target_directory"  # 替换成你的目标目录
    target_string = "your_target_string"  # 替换成你要查找的字符串
    replacement = "your_replacement"  # 替换成你要替换的字符串

    batch_replace(target_directory, target_string, replacement)

在这个示例中,replace_in_file函数使用re.sub进行替换,通过设置flags=re.IGNORECASE来实现大小写不敏感的替换。这样,即使目标字符串在文件中是不同大小写形式,也能被正确替换