最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)對word文檔添加密碼去除密碼的示例代碼

 更新時間:2020年12月29日 14:56:57   作者:1want0  
這篇文章主要介紹了Python實現(xiàn)對word文檔添加密碼去除密碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

代碼實現(xiàn)如下:

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, 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')

實現(xiàn):

到此這篇關于Python實現(xiàn)對word文檔添加密碼去除密碼的示例代碼的文章就介紹到這了,更多相關Python word文檔添加密碼去除密碼內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python測試攻略pytest.main()隱藏利器實例探究

    python測試攻略pytest.main()隱藏利器實例探究

    在Pytest測試框架中,pytest.main()是一個重要的功能,用于啟動測試執(zhí)行,它允許以不同方式運行測試,傳遞參數(shù)和配置選項,本文將深入探討pytest.main()的核心功能,提供豐富的示例代碼和更全面的內容,
    2024-01-01
  • python里使用正則表達式的組嵌套實例詳解

    python里使用正則表達式的組嵌套實例詳解

    這篇文章主要介紹了python里使用正則表達式的組嵌套實例詳解的相關資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • Python列表生成器的循環(huán)技巧分享

    Python列表生成器的循環(huán)技巧分享

    這篇文章主要介紹了Python列表生成器的循環(huán)技巧分享,本文講解了列表生成器中一個循環(huán)和二個循環(huán)的不同寫法,需要的朋友可以參考下
    2015-03-03
  • 詳解Python裝飾器

    詳解Python裝飾器

    這篇文章主要介紹了Python裝飾器,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • Python?pyecharts數(shù)據(jù)可視化實例詳解

    Python?pyecharts數(shù)據(jù)可視化實例詳解

    PyEcharts是一個用于生成?Echarts圖表的類庫,?Python是一門富有表達力的語言,很適合用于數(shù)據(jù)處理,下面這篇文章主要給大家介紹了關于Python?pyecharts數(shù)據(jù)可視化的相關資料,需要的朋友可以參考下
    2022-05-05
  • python實現(xiàn)最大優(yōu)先隊列

    python實現(xiàn)最大優(yōu)先隊列

    這篇文章主要為大家詳細介紹了python實現(xiàn)最大優(yōu)先隊列,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Python?動態(tài)綁定屬性和方法?

    Python?動態(tài)綁定屬性和方法?

    這篇文章主要介紹了Python?動態(tài)綁定屬性和方法,?動態(tài)語言與靜態(tài)語言有很多不同,最大的特性之一就是可以實現(xiàn)動態(tài)的對類和實例進行修改,在Python中,我們創(chuàng)建了一個類后可以對實例和類綁定心的方法或者屬性,實現(xiàn)動態(tài)綁定,下面詳細介紹需要的朋友可以參考一下
    2022-03-03
  • python使用matplotlib模塊繪制多條折線圖、散點圖

    python使用matplotlib模塊繪制多條折線圖、散點圖

    這篇文章主要為大家詳細介紹了python使用matplotlib模塊繪制多條折線圖、散點圖的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Python中單元測試的快速入門指南

    Python中單元測試的快速入門指南

    在這篇文章中,我們會深入探討Python單元測試的各個方面,包括它的基本概念、基礎知識、實踐方法、高級話題,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-07-07
  • Python還能這么玩之只用30行代碼從excel提取個人值班表

    Python還能這么玩之只用30行代碼從excel提取個人值班表

    公司實行項目值班制度,拿到值班表,看到全部的值班信息,要去查找自己的值班信息,是一件頭痛的事情.作為程序員,當然要簡化,將自己的信息提煉出來,需要的朋友可以參考下
    2021-06-06

最新評論

东安县| 巴塘县| 东乡| 称多县| 昌吉市| 洮南市| 丹阳市| 全州县| 甘肃省| 霸州市| 灌云县| 中超| 平昌县| 丹东市| 宜川县| 竹山县| 东山县| 会泽县| 米林县| 板桥市| 图木舒克市| 丹江口市| 喀喇| 澜沧| 类乌齐县| 沙坪坝区| 宝鸡市| 贞丰县| 普兰县| 界首市| 栾川县| 无棣县| 申扎县| 承德市| 昌平区| 邵阳市| 建平县| 孟津县| 东海县| 郯城县| 琼结县|