我有一个需要的地方,我需要检测是否Excel文件是密码保护或不。如果密码受保护,请向用户询问密码。如何在python中做到这一点?我在网上查了一下,到目前为止没有一个答案有用
zphenhs41#
我想你可以沿着这条线做点什么。如果文件被加密,它将通过,并且可以请求密码。如果不是,则会出错,文件可以正常加载。
import openpyxl import io import msoffcrypto from msoffcrypto.exceptions import FileFormatError # pip install msoffcrypto-tool filename = 'foo.xlsx' with open(filename, 'rb') as file: try: workbook = io.BytesIO() office_file = msoffcrypto.OfficeFile(file) print("File is password protected") passwd = input("Please enter file password") office_file.load_key(password=passwd) office_file.decrypt(workbook) except FileFormatError as e: print(e) print("File is not password protected") workbook=filename wb = openpyxl.load_workbook(workbook) ws = wb['Sheet1'] print(ws['A1'].value)
1条答案
按热度按时间zphenhs41#
我想你可以沿着这条线做点什么。
如果文件被加密,它将通过,并且可以请求密码。
如果不是,则会出错,文件可以正常加载。