Python 은 워드 문서 에 암 호 를 추가 하여 암 호 를 제거 하 는 예제 코드 를 실현 합 니 다.

코드 구현 은 다음 과 같 습 니 다.

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
Waiting...') time.sleep(2)# dlistdir(filedir) # word print('decrytion Done')
실현:

파 이 썬 이 워드 문서 에 비밀 번 호 를 추가 하여 비밀 번 호 를 제거 하 는 예제 코드 를 실현 하 는 글 을 소개 합 니 다.더 많은 파 이 썬 워드 문서 에 비밀 번 호 를 추가 하여 비밀 번 호 를 제거 하 는 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 바 랍 니 다!

좋은 웹페이지 즐겨찾기