加入收藏 | 设为首页 | 会员中心 | 我要投稿 天瑞地安资讯网 (https://www.52baoding.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

使用Python批量删除加密Excel文件的密码

发布时间:2022-12-15 11:44:24 所属栏目:安全 来源:
导读:  如果碰到加密的Excel文件,则会很麻烦。在本文中,将展示如何使用Python删除Excel文件密码。

  同样,如果收到很多加密的Excel文件,即使知道密码,也要在打开每个文件时都要输入密码,非常繁琐。如果能够
  如果碰到加密的Excel文件,则会很麻烦。在本文中,将展示如何使用Python删除Excel文件密码。
 
  同样,如果收到很多加密的Excel文件,即使知道密码,也要在打开每个文件时都要输入密码,非常繁琐。如果能够自动处理,岂不更好!
 
  库
 
  要删除Excel文件的密码,将使用msoffcrypto库。可以使用pip来安装库,注意用于安装的名称是msoffcrypto-tool。
 
  pip install msoffcrypto-tool
 
  获取文件名
 
  使用pathlib库获取所有Excel文件的文件路径。注意,.iterdir()将遍历文件夹中的所有内容,包括文件和目录。只需要添加核对只是抓取.xlsx文件。
 
  pathlib.glob(‘*.xlsx’)方法返回与格式’*.xlsx’匹配的所有路径,即任何以’.xlsx’结尾的文件路径,或者说是Excel文件。
 
  import pathlib
 
  url= pathlib.Path(r’D:\test\remove_excel_password’)
 
  excel_flies= list(url.glob(‘*.xlsx’))
 
  使用Python删除Excel密码
 
  msoffcrypto库有两个关键方法:load_key和decrypt。
 
  load_key():准备密码
 
  decrypt():通过删除密码解锁文件,然后将文件保存到磁盘
 
  继续使用文件路径列表。注意,所有Excel文件都使用相同的密码“123”,确保在测试代码时将其替换为实际的密码。
 
  注意,下面的函数将使用二进制模式“rb”在Python中打开每个密码加密的Excel文件。然后,它将删除密码(通过解密),并将文件保存到一个新的位置output_folder中。
 
  def unlock(filename, passwd, output_folder):
 
  temp = open(filename, ‘rb’)
 
  excel = msoffcrypto.OfficeFile(temp)
 
  excel.load_key(passwd)
 
  out_path = pathlib.Path(output_foler)
 
  if not out_path.exists():
 
  out_path.mkdir()
 
  with open(str(out_path/filename.name), ‘wb’)as f:
 
  excel.decrypt(f)
 
  temp.close()
 
  因为使用的是pathlib,每个filename实际上都是一个pathlib对象,为了从对象中获取文件名,可以调用.name属性,返回文件名的字符串值。
 
  注意,.load_key()方法只准备密码,而不会解锁文件。decrypt()解锁文件,然后将文件保存到磁盘。
 
  文档内容加密_文档可能为只读或加密文档_亿赛通文档加密系统的离线终端
 

(编辑:天瑞地安资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!