<tt id="eol1w"></tt>
  • Python實現對word文檔添加密碼去除密碼的示例代碼

     更新時間:2020年12月29日 14:56:57   作者:1want0  
    這篇文章主要介紹了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, 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文檔添加密碼去除密碼內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

    相關文章

    • python對常見數據類型的遍歷解析

      python對常見數據類型的遍歷解析

      這篇文章主要介紹了python對常見數據類型的遍歷解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
      2019-08-08
    • Python實現計算最小編輯距離

      Python實現計算最小編輯距離

      這篇文章主要介紹了Python實現計算最小編輯距離的相關代碼,有需要的小伙伴可以參考下
      2016-03-03
    • 在Python中使用lambda高效操作列表的教程

      在Python中使用lambda高效操作列表的教程

      這篇文章主要介紹了在Python中使用lambda高效操作列表的教程,結合了包括map、filter、reduce、sorted等函數,需要的朋友可以參考下
      2015-04-04
    • urllib和BeautifulSoup爬取維基百科的詞條簡單實例

      urllib和BeautifulSoup爬取維基百科的詞條簡單實例

      這篇文章主要介紹了urllib和BeautifulSoup爬取維基百科的詞條簡單實例,具有一定借鑒價值,需要的朋友可以參考下
      2018-01-01
    • Python安裝依賴(包)模塊方法詳解

      Python安裝依賴(包)模塊方法詳解

      Python模塊,簡單說就是一個.py文件,其中可以包含我們需要的任意Python代碼。這篇文章主要介紹了Python安裝依賴(包)模塊方法,需要的朋友可以參考下
      2020-02-02
    • python讀文件保存到字典,修改字典并寫入新文件的實例

      python讀文件保存到字典,修改字典并寫入新文件的實例

      下面小編就為大家分享一篇python讀文件保存到字典,修改字典并寫入新文件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
      2018-04-04
    • Python拆分大型CSV文件代碼實例

      Python拆分大型CSV文件代碼實例

      這篇文章主要介紹了Python拆分大型CSV文件代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
      2019-10-10
    • python中使用xlrd、xlwt操作excel表格詳解

      python中使用xlrd、xlwt操作excel表格詳解

      這篇文章主要介紹了python中使用xlrd、xlwt操作excel表格詳解,python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫,需要的朋友可以參考下
      2015-01-01
    • Python中Unittest框架的具體使用

      Python中Unittest框架的具體使用

      這篇文章主要介紹了Python中Unittest框架的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
      2019-08-08
    • Python實現進度條和時間預估的示例代碼

      Python實現進度條和時間預估的示例代碼

      這篇文章主要介紹了Python實現進度條和時間預估的代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
      2020-06-06

    最新評論

    盈利国际彩票 www.matiastroncoso.com:和田市| www.safecarservice.com:卓资县| www.livemallorcahostel.com:萨迦县| www.mzlfjsh.com:沙坪坝区| www.getappcatalyst.com:阿尔山市| www.zezenetwork.com:恩施市| www.laikaha.com:阿拉尔市| www.prosiectgwyrdd.com:潮安县| www.cp5561.com:久治县| www.hitsandlyrics.com:揭东县| www.wwzz888.com:华宁县| www.tcslsoccer.org:大安市| www.ereglielitogrencievi.com:安徽省| www.xinya-painting.com:双流县| www.yhjzsd.com:伊宁市| www.vmarketingblog.com:进贤县| www.024wanlikt.com:浪卡子县| www.cleanhouselimpeza.com:黑龙江省| www.jllnt.com:昔阳县| www.parachuteins.com:木里| www.taoyuangarden.com:晴隆县| www.mikenatalizio.com:镇康县| www.headsion.cn:商河县| www.airuite0553.com:东乌珠穆沁旗| www.haofzjia.com:吕梁市| www.sun-automation.com:九寨沟县| www.kn599.com:宁海县| www.electricmassagechair.org:阿鲁科尔沁旗| www.thebox-ny.com:徐水县| www.liamjj.com:仁化县| www.extrapolater.com:西藏| www.373jy.com:吉木萨尔县| www.new-sg.com:图们市| www.g888886.com:普宁市| www.webfusionltd.com:墨玉县| www.janielholidays.com:天镇县| www.acadiespatiale.com:常熟市| www.msliver.com:宁化县| www.xx3588.com:叙永县| www.cp7781.com:明光市| www.beijingshengbo.com:电白县| www.zjyoushun.com:建阳市| www.mwambu.com:台东县| www.paknts.com:西林县| www.kma209.com:繁峙县| www.careerinmining.com:沾益县| www.the-boyan.com:扬州市| www.xianfenghuashi.com:固原市| www.bjdkth.com:长泰县| www.satext.com:宁明县| www.extreme-projects.com:海盐县| www.vicomech.com:竹溪县| www.alarmsunrise.com:治多县| www.liansheng-tech.com:沅陵县| www.mfkxn.com:全州县| www.l248.com:马关县| www.bq339.com:梁河县| www.lunarpaegs.com:如皋市| www.tongfanglove.com:郑州市| www.chaletdemontagne.org:台山市| www.chansamabut.com:岳池县| www.vipsus.com:永安市| www.hghx.org:繁峙县| www.comtery.com:威宁| www.bazardasminas.net:巧家县| www.lepoidevinmerge.com:齐河县| www.shihuotoys.com:宁波市| www.chenuli.com:乌苏市| www.stephanmueller.net:江陵县| www.raycorodriguez.com:上虞市| www.sb-uss.com:崇左市| www.belle1.com:兴城市| www.inside-economics.com:合水县| www.41en.com:正定县| www.hg93789.com:建德市| www.aganinsuranceagency.com:天水市| www.andyandnina.com:中阳县| www.cp7110.com:仪征市| www.keybiz.org:浦江县| www.cdkemu.com:文成县| www.yuanfangauction.com:武平县| www.zxqlw.cn:凉山| www.npathfinder.com:贺州市| www.am9933.com:彰化市|