批量替换目录下所有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来实现大小写不敏感的替换。这样,即使目标字符串在文件中是不同大小写形式,也能被正确替换