• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python实现对word文档添加密码去除密码的示例代码

python 搞代码 4年前 (2022-01-07) 81次浏览 已收录 0个评论

这篇文章主要介绍了Python实现对word文档添加密码去除密码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

代码实现如下:

 import win32com.client,os,time def word_encryption(path, password): # 若加密保存.docx时,覆盖原文件,则无法成功添加密码。但是保存为另一个文件名,则可以添加密码。 # 因此将A存为B,删A,再将B改为A。 dirname, tempname = os.path.split(path) path_temp = os.path.join(dirname, tempname) while os.path.exists(path_temp): tempname = f'{len(tempname)}' + tempname path_temp = os.path.join(dirname, tempname) def encryption(fp, pt, pw): word_app = win32com.client.Dispatch('Word.Application') word_app.Visible = 0 word_app.DisplayAlerts = 0 doc = word_app.Documents.Open(fp, False, False, False, '') doc.SaveAs2(pt, None, False, pw) doc.Close() word_app.Quit() encryption(path, path_temp, password) os.remove(path) # 删除原文件 os.rename(path_temp, path) # 改临时文件名称为原文件名称 time.sleep(0.5) # 不要删除,不要删除 def word_decryption(path, password): # 若加密保存.docx时,覆盖原文件,则无法成功添加密码。但是保存为另一个文件名,则可以添加密码。 # 因此将A存为B,删A,再将B改为A。 dirname, tempname = os.path.split(path) path_temp = os.path.join(dirname, tempname) while os.path.exists(path_temp): tempname = f'{len(tempname)}' + tempname path_temp = os.path.join(dirname, tempname) def decryption(fp, pt, pw): word_app = win32com.client.Dispatch('Word.Application') word_app.Visible = 0 word_app.DisplayAlerts = 0 doc = word_app.Documents.Open(fp, False, False, False, key) doc.SaveAs2(pt, None,<strong style="color:transparent">来源gaodaima#com搞(代@码网</strong> False, pw) doc.Close() word_app.Quit() decryption(path, path_temp, password) os.remove(path) # 删除原文件 os.rename(path_temp, path) # 改临时文件名称为原文件名称 time.sleep(0.5) # 不用删除 def elistdir(path): for file in os.listdir(path): file_path = os.path.join(path, file) if os.path.isdir(file_path) and file_path==path:#排除子路径 elistdir(file_path) #print(file_path) elif os.path.splitext(file_path)[1]=='.docx': #list_name.append(file_path) if file_path != '': print(file_path) try: word_encryption(file_path, key) except: pass def dlistdir(path): for file in os.listdir(path): file_path = os.path.join(path, file) if os.path.isdir(file_path) and file_path==path:#排除子路径 dlistdir(file_path) #print(file_path) elif os.path.splitext(file_path)[1]=='.docx': #list_name.append(file_path) if file_path != '': print(file_path) try: word_decryption(file_path, '') except: pass if __name__ == '__main__': key='12345'                 #加密解密密匙 filedir=r"C:\Users\Administrator\Desktop"# 指定路径不包含子路径 elistdir(filedir) #遍历word print('encrytion sucess\n Waiting...') time.sleep(2)#设置时间随意操作 dlistdir(filedir) #遍历word print('decrytion Done')

实现:

到此这篇关于Python实现对word文档添加密码去除密码的示例代码的文章就介绍到这了,更多相关Python word文档添加密码去除密码内容请搜索gaodaima搞代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持gaodaima搞代码网

以上就是Python实现对word文档添加密码去除密码的示例代码的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python实现对word文档添加密码去除密码的示例代码
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址