Python-去除指定目錄下指定Excel文件的打開密碼

可以使用 os 模塊和 glob 模塊來遍歷文件系統(tǒng)中的所有 Excel 文件,并使用字典將文件名與密碼配對(duì)。然后,對(duì)于匹配的文件,可以調(diào)用之前提供的去除密碼的函數(shù)。

以下是一個(gè)示例代碼:

import os
import glob
import win32com.client as win32

def remove_excel_password(file_path, password):
    try:
        excel = win32.Dispatch("Excel.Application")
        excel.DisplayAlerts = False
        workbook = excel.Workbooks.Open(file_path, False, False, None, password)
        workbook.SaveAs(file_path, None, "", "")
        workbook.Close()
        excel.Quit()
        print(f"已移除文件 {file_path} 的密碼!")
    except Exception as e:
        print(f"移除文件 {file_path} 的密碼時(shí)出現(xiàn)錯(cuò)誤:", e)

# 遞歸遍歷文件夾及其子目錄中的所有 Excel 文件并移除密碼
def remove_passwords_in_folder(folder_path, password_dict):
    for root, dirs, files in os.walk(folder_path):
        for file_name in files:
            if file_name.endswith(".xlsx"):
                file_path = os.path.join(root, file_name)
                if file_name in password_dict:
                    password = password_dict[file_name]
                    remove_excel_password(file_path, password)

# 用法示例
folder_path = r"C:\Excel"  # 替換為你的文件夾路徑
password_dict = {
    "file1.xlsx": "password1",
    "file2.xlsx": "password2",
    "file3.xlsx": "password3"
}  # 文件名和密碼配對(duì)

remove_passwords_in_folder(folder_path, password_dict)

在示例代碼中,remove_passwords_in_folder 函數(shù)接受文件夾路徑和文件名與密碼配對(duì)的字典作為輸入。它使用 glob 模塊查找文件夾中所有的 Excel 文件,然后對(duì)于匹配的文件,調(diào)用 remove_excel_password 函數(shù)來移除密碼。

請(qǐng)確保已經(jīng)安裝了 pywin32 模塊,并將示例代碼中的文件夾路徑和文件名與密碼配對(duì)的字典替換為你的實(shí)際值。然后運(yùn)行代碼,它將遍歷文件夾中的所有 Excel 文件,并根據(jù)字典中的密碼信息自動(dòng)去除密碼。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容