国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

python 實(shí)現(xiàn)批量文件加密功能

瀏覽:2日期:2022-07-28 09:50:16
目錄一、源碼1、結(jié)果展示2、源碼二、源碼注釋1、所使用依賴包2、函數(shù)功能3、代碼拓展三、可運(yùn)行環(huán)境一、源碼1、結(jié)果展示

  python自動(dòng)化辦公現(xiàn)在可不是一個(gè)陌生的詞,也隨著人們對(duì)自己隱私越來越看重,就會(huì)出現(xiàn)這樣的需求:每人一個(gè)PDF文件,因有個(gè)人隱私信息,所以需要對(duì)文件進(jìn)行加密且密碼為本人身份證后六位。  廢話不多說,上結(jié)論,程序運(yùn)行結(jié)果如下:

python 實(shí)現(xiàn)批量文件加密功能

  我們?nèi)ヒ惶骄烤梗募缦拢?/p>

python 實(shí)現(xiàn)批量文件加密功能

 獲取密碼如下:

python 實(shí)現(xiàn)批量文件加密功能

  將文件加密以后結(jié)果如下:

python 實(shí)現(xiàn)批量文件加密功能

  我們隨機(jī)打開一個(gè)驗(yàn)證一下:

python 實(shí)現(xiàn)批量文件加密功能

  輸入身份證后六位,作為密碼即可打開。

2、源碼

  可運(yùn)行源碼如下:

import osfrom PyPDF2 import PdfFileWriter, PdfFileReaderimport pandas as pd# 全局工作目錄os.chdir('D:加密')def main(): # 1、找文件 # 獲取實(shí)習(xí)證明原文件的文件名 rosterfile = os.listdir(’.原文件’) # 獲取信息中表的姓名與密碼 name,Password = getPassword() # 對(duì)每個(gè)文件進(jìn)行加密并保存 for prove in rosterfile:for Name in name: if Name in prove:i = name.index(Name)rosterLast = proverosterNow = ’.文件加密版本’ + provepassword = Password[i]# 2、加密文件并輸出encryptionPDF(rosterLast,rosterNow,password)# 獲取了表中姓名信息,并提取身份證后六位作為密碼def getPassword(): password = [] name = [] # 獲取Excel列,包括姓名、身份證號(hào) Name = pd.read_excel(’.名單.xlsx’, usecols=[0],names=None) # 讀取項(xiàng)目名稱列,不要列名 Id = pd.read_excel(’.名單.xlsx’, usecols=[1],names=None) # 讀取項(xiàng)目名稱列,不要列名 Name1 = Name.values.tolist() id = Id.values.tolist() # 提取身份證后六位作為密碼 for i in id:password.append(str(i[0])[12:18:1]) # 提取姓名為字符串,原來為list for j in Name1:name.append(j[0]) return name,password# 加密文件并輸出# 變量說明:rosterLast-原PDF文件路徑,rosterNow-加密后輸出路徑,password-加密密碼def encryptionPDF(rosterLast,rosterNow,password): pdf_reader = PdfFileReader(r’.原文件%s’%(rosterLast)) # 輸入你想要操作的pdf文檔的位置/名稱 pdf_writer = PdfFileWriter() for page in range(pdf_reader.getNumPages()):pdf_writer.addPage(pdf_reader.getPage(page)) pdf_writer.encrypt(password) # 寫入密碼并輸出到目的路徑 with open(rosterNow, ’wb’) as out:pdf_writer.write(out) print('文件:%s----已完成加密,密碼為:%s'%(rosterLast,password))# 函數(shù)入口if __name__ == ’__main__’: print('-----開始加密-----') main() print('-----加密完成-----')二、源碼注釋1、所使用依賴包

  共使用三個(gè)函數(shù):

# 文件操作import os# 操作PDF文件from PyPDF2 import PdfFileWriter, PdfFileReader# 操作數(shù)據(jù)import pandas as pd

  在這里我只是簡(jiǎn)單說明用這些第三方庫干了什么,具體學(xué)習(xí)可參考官方文檔或者菜鳥教程。

2、函數(shù)功能

  編碼過程中也共定義有三個(gè)函數(shù),其功能如下:

# 主函數(shù),從這里我們可以看到我整體是如何實(shí)現(xiàn)此需求的def main():# 功能函數(shù),用來獲取文件密碼的,然后使用姓名與文件名做匹配,達(dá)到本人文件為本人身份證后六位的需求。def getPassword():# 功能函數(shù),本次編碼的核心,前面都可以作為準(zhǔn)備階段,就是為本函數(shù)用來加密文件而提供讀取、輸出路徑以及密碼的。def encryptionPDF(rosterLast,rosterNow,password):3、代碼拓展

  這只是一個(gè)很簡(jiǎn)單的需求,它并不具有普遍性,它可能僅在我電腦上可以運(yùn)行,當(dāng)你拷貝走源碼以后可能就沒法運(yùn)行了,會(huì)報(bào)各種各樣的錯(cuò)誤。  如果你想直接用,那可能得按照我在編碼過程中準(zhǔn)備的數(shù)據(jù)一模一樣的去準(zhǔn)備。所以它其實(shí)只能用作學(xué)習(xí)交流,想要直接使用不太現(xiàn)實(shí)。  當(dāng)然可以嘗試著在此基礎(chǔ)上增加功能或者增加代碼的可用性與門檻。例如:獲取用戶輸入的路徑,定義密碼模板等,讓代碼具有普遍性,可直接拷貝運(yùn)行那種的。

三、可運(yùn)行環(huán)境

  那如果你不想改源碼,想直接用那怎么辦?  沒問題!那你就跟著我來吧,一點(diǎn)一點(diǎn)來。  首先在D盤創(chuàng)建一個(gè)文件夾名為:加密;注意!必須保證它在根目錄下!它的路徑為D:加密。然后打開文件創(chuàng)建如下:必須一模一樣

python 實(shí)現(xiàn)批量文件加密功能

  差不多了,原文件放在原文件夾里面,運(yùn)行以后的文件就在加密版本文件夾里面。  最重要的就是在名單的表格里面把信息填好,這就是用來設(shè)置密碼的,表格格式如下:身份證號(hào)碼格式為數(shù)字

python 實(shí)現(xiàn)批量文件加密功能

  表格只有兩列!一列姓名、一列身份證號(hào)碼。身份證號(hào)碼為數(shù)字類型!

到此這篇關(guān)于python 實(shí)現(xiàn)批量文件加密功能的文章就介紹到這了,更多相關(guān)python 批量文件加密內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产三级精品在线 | 99久久国产免费福利 | 看中国毛片| 国产精品亚洲成在人线 | 老妇激情毛片 | 精品久久久久中文字幕日本 | 看欧美毛片一级毛片 | 午夜国产高清精品一区免费 | 久久久精品影院 | 欧美日韩一区二区综合在线视频 | 极品美女写真菠萝蜜视频 | 日本三级网站在线观看 | 一本色道久久88亚洲精品综合 | 99精品久久久久久久 | 国产精品九九久久一区hh | 欧美在线成人午夜网站 | 国产午夜精品理论片免费观看 | 麻豆第一页 | 美日韩一级 | 欧美精品亚洲精品日韩一区 | 网站午夜 | 国产三a级日本三级日产三级 | 亚洲一区二区三区高清 | 美女131爽爽爽做爰中文视频 | 亚洲偷自拍另类图片二区 | 色视频在线观看免费 | 人成在线免费视频 | 91视频最新网站 | 国产无毛 | 日本成人在线视频网站 | 成人在线观看国产 | 亚洲国产精品综合欧美 | 亚洲情a成黄在线观看 | 曰本毛片va看到爽不卡 | 国产精品视频免费观看调教网 | 国产在线播放成人免费 | 日本一区二区三区在线 视频 | www.成人在线视频 | 亚洲欧美精品网站在线观看 | a级免费网站 | 99久久久国产精品免费播放器 |