python3实现批量替换.doc文件内容
运行环境:
python
pywin32 https://github.com/mhammond/pywin32/releases
脚本功能:
遍历目录下的所有文件,将文件固定内容进行替换。
import os,time import win32com from win32com.client import Dispatch # 基础设置 path = r'C:\Users\administrator\Desktop\' # 要读取的目录 name = os.listdir(path) for i in name: path2 = path + '\\' + i print(path2) open_file = path2 # 要保存到的位置 save_file = path2 # 指示系统中文档的处理工具 # 如果使用word exec_tool = 'Word.Application' # 如果使用wps # exec_tool = 'wps.application' # 指示运行的版本,如果是WPS应修改为 word = win32com.client.Dispatch(exec_tool) # 在后台运行程序 word.Visible = 0 # 后台运行,不显示 # 运行过程不警告 word.DisplayAlerts = 0 # 不警告 # 打开word文档 doc = word.Documents.Open(open_file) # 文档替换函数 def replace_doc(old_string, new_string): word.Selection.Find.ClearFormatting() word.Selection.Find.Replacement.ClearFormatting() # ------------------------------------------------------ # 此函数设计到可能出现的各种情况,请酌情修改 # Execute( # 旧字符串,表示要进行替换的字符串 # 区分大小写:这个好理解,就是大小写对其也有影响 # 完全匹配:也就意味着不会替换单词中部分符合的内容 # 使用通配符 # 同等音 # 包括单词的所有形态 # 倒序 # 1(不清楚是做什么的) # 包含格式 # 新的文本 # 要替换的数量,0表示不进行替换,1表示仅替换一个 # ------------------------------------------------------ word.Selection.Find.Execute(old_string, False, False, False, False, False, True, 1, True, new_string, 2) # 把文档中的A字符串替换为K字符串 replace_doc('A', 'K') # 保存对Word文件所进行的修改 doc.SaveAs(save_file) # 打印文件 # doc.PrintOut() # 关闭文件 doc.Close() # 退出word word.Quit() time.sleep(1)
参考:https://blog.csdn.net/tineaine/article/details/107554960
知识要大家一起分享,但带上原文链接是对作者的尊重。