返回顶部
首页 > 资讯 > 后端开发 > Python >python 实现批量文件加密功能
  • 221
分享到

python 实现批量文件加密功能

python批量文件加密python文件加密 2022-06-02 22:06:15 221人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录一、源码1、结果展示2、源码二、源码注释1、所使用依赖包2、函数功能3、代码拓展三、可运行环境一、源码 1、结果展示   python自动化办公现在可不是一个陌生的词,也随着人们对自己隐私

目录
  • 一、源码
    • 1、结果展示
    • 2、源码
  • 二、源码注释
    • 1、所使用依赖包
    • 2、函数功能
    • 3、代码拓展
  • 三、可运行环境

    一、源码

    1、结果展示

      python自动化办公现在可不是一个陌生的词,也随着人们对自己隐私越来越看重,就会出现这样的需求:每人一个pdf文件,因有个人隐私信息,所以需要对文件进行加密且密码为本人身份证后六位。
      废话不多说,上结论,程序运行结果如下:

    在这里插入图片描述

      我们去一探究竟,原文件如下:

    在这里插入图片描述

     获取密码如下:

    在这里插入图片描述

      将文件加密以后结果如下:

    在这里插入图片描述

      我们随机打开一个验证一下:

    在这里插入图片描述

      输入身份证后六位,作为密码即可打开。

    2、源码

      可运行源码如下:

    
    import os
    from PyPDF2 import PdfFileWriter, PdfFileReader
    import pandas as pd
    
    # 全局工作目录
    os.chdir("D:\加密")
    
    def main():
        # 1、找文件
        # 获取实习证明原文件的文件名
        rosterfile = os.listdir('.\原文件\\')
        # 获取信息中表的姓名与密码
        name,PassWord = getPassword()
    
        # 对每个文件进行加密并保存
        for prove in rosterfile:
            for Name in name:
                if Name in prove:
                    i = name.index(Name)
                    rosterLast = prove
                    rosterNow = '.\文件加密版本\\' + prove
                    password = Password[i]
                    # 2、加密文件并输出
                    encryptionPDF(rosterLast,rosterNow,password)
    
    
    # 获取了表中姓名信息,并提取身份证后六位作为密码
    def getPassword():
        password = []
        name = []
        # 获取excel列,包括姓名、身份证号
        Name = pd.read_excel('.\名单.xlsx', usecols=[0],names=None)  # 读取项目名称列,不要列名
        Id = pd.read_excel('.\名单.xlsx', usecols=[1],names=None)  # 读取项目名称列,不要列名
        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))
    
    # 函数入口
    if __name__ == '__main__':
        print("-----开始加密-----")
        main()
        print("-----加密完成-----")
    

    二、源码注释

    1、所使用依赖包

      共使用三个函数:

    
    # 文件操作
    import os
    
    # 操作PDF文件
    from PyPDF2 import PdfFileWriter, PdfFileReader
    
    # 操作数据
    import pandas as pd
    

      在这里我只是简单说明用这些第三方库干了什么,具体学习可参考官方文档或者菜鸟教程

    2、函数功能

      编码过程中也共定义有三个函数,其功能如下:

    
    # 主函数,从这里我们可以看到我整体是如何实现此需求的
    def main():
    
    # 功能函数,用来获取文件密码的,然后使用姓名与文件名做匹配,达到本人文件为本人身份证后六位的需求。
    def getPassword():
    
    #  功能函数,本次编码的核心,前面都可以作为准备阶段,就是为本函数用来加密文件而提供读取、输出路径以及密码的。
    def encryptionPDF(rosterLast,rosterNow,password):
    

    3、代码拓展

      这只是一个很简单的需求,它并不具有普遍性,它可能仅在我电脑上可以运行,当你拷贝走源码以后可能就没法运行了,会报各种各样的错误。
      如果你想直接用,那可能得按照我在编码过程中准备的数据一模一样的去准备。所以它其实只能用作学习交流,想要直接使用不太现实。
      当然可以尝试着在此基础上增加功能或者增加代码的可用性与门槛。例如:获取用户输入的路径,定义密码模板等,让代码具有普遍性,可直接拷贝运行那种的。

    三、可运行环境

      那如果你不想改源码,想直接用那怎么办?
      没问题!那你就跟着我来吧,一点一点来。
      首先在D盘创建一个文件夹名为:加密;注意!必须保证它在根目录下!它的路径为D:\加密。然后打开文件创建如下:必须一模一样

    在这里插入图片描述

      差不多了,原文件放在原文件夹里面,运行以后的文件就在加密版本文件夹里面。
      最重要的就是在名单的表格里面把信息填好,这就是用来设置密码的,表格格式如下:身份证号码格式为数字

    在这里插入图片描述

      表格只有两列!一列姓名、一列身份证号码。身份证号码为数字类型!

    到此这篇关于Python 实现批量文件加密功能的文章就介绍到这了,更多相关python 批量文件加密内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

    --结束END--

    本文标题: python 实现批量文件加密功能

    本文链接: https://lsjlt.com/news/11158.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • python 实现批量文件加密功能
      目录一、源码1、结果展示2、源码二、源码注释1、所使用依赖包2、函数功能3、代码拓展三、可运行环境一、源码 1、结果展示   python自动化办公现在可不是一个陌生的词,也随着人们对自己隐私...
      99+
      2022-06-02
      python 批量文件加密 python 文件加密
    • python怎么实现批量文件加密功能
      这篇文章主要介绍“python怎么实现批量文件加密功能”,在日常操作中,相信很多人在python怎么实现批量文件加密功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python怎么实现批量文件加密功能”的疑...
      99+
      2023-06-20
    • Python编程批量实现md5加密pdf文件
      Python编程实现批量md5加密pdf文件今天在某公众号看到一个关于pdf文件加密模块的介绍,突然有了一个想法,编写一个批量加密某目录下的所有pdf文件。结合md5加密和文件查找等...
      99+
      2024-04-02
    • python文件加密功能怎么实现
      要实现一个Python文件加密的功能,可以考虑以下步骤:1. 选择一种加密算法,如AES、DES等。这些算法在Python中可以通过...
      99+
      2023-09-27
      python
    • Java实现批量下载选中文件功能
      小编给大家分享一下Java实现批量下载选中文件功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.在action中定义变量 private ...
      99+
      2023-05-30
      java 下载文件
    • Java实现文件的加密解密功能示例
      本文实例讲述了Java实现文件的加密解密功能分享给大家供大家参考,具体如下:package com.copy.encrypt;import java.io.File;import java.io.FileInputStream;import...
      99+
      2023-05-31
      java 文件 加密
    • Python实现批量向PDF文件添加中文水印
      目录前言实现步骤完整代码前言 可以通过设置批量PDF文件所在的路径及需要添加的水印名称可以实现批量添加PDF水印的效果。 实现思路是这样的,通过在批量PDF文件路径下面生成一个带有水...
      99+
      2024-04-02
    • python实现批量移动文件
      本文通过实例为大家分享了python实现批量移动文件的具体代码,供大家参考,具体内容如下 任务:每个大文件夹下有许多小文件夹,将小文件夹里的pdf文件移动到指定文件夹。如图: 最...
      99+
      2024-04-02
    • Python教程自己实现软件加密功能
      目录原理加密操作:解密操作:生成随机密钥:加密单元:解密单元:加密文本文件解密文件基础知识 在 Python 中异或操作符为:^,也可以记作 XOR。按位异或的意思是:相同值异或为 ...
      99+
      2024-04-02
    • vbs如何实现批量文件查找替换功能
      这篇文章主要讲解了“vbs如何实现批量文件查找替换功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vbs如何实现批量文件查找替换功能”吧!'====================...
      99+
      2023-06-08
    • Java实现PDF文件的分割与加密功能
      由于``某些不可抗力原因,公司不允许使用itext系列的jar包,因此系统中使用的相关jar得替换成开源的。经比较和尝试考虑使用org.apache.pdfbox来替换,同时修改系统...
      99+
      2024-04-02
    • python实现文件批量重命名
      本文实例为大家分享了python实现文件批量重命名,供大家参考,具体内容如下 讲解 1、库:os 2、代码效果:对指定文件夹内所有文件重命名为1,2,3… 3、代码原理:使用os.l...
      99+
      2024-04-02
    • python实现批量重命名文件
      #!/usr/bin/env python # -*- coding:UTF-8 -*- import os # 第一种方法 files = os.listdir('.') i = 1 for f in files:     filenam...
      99+
      2023-01-31
      批量 重命名 文件
    • Python实现文件名批量处理
      我们知道文件名是可以手动修改的,但是如果要同时修改多个文件名,那一个一个修改会浪费掉很多时间,此时我们就可以考虑使用python来实现文件名的批量处理。想要批量处理文件名首先确定需要处理的文件名,以及确定处理后新的文件名,这样就可以开始处理...
      99+
      2023-06-02
    • kettle的文件批量入库功能是怎样实现的
      kettle的文件批量入库功能是怎样实现的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。kettle 除了作为 ETL 工具外,还有很多数据处理方面的实用功能,下面介绍几个实用...
      99+
      2023-06-03
    • Python怎么实现批量向PDF文件添加中文水印
      本文小编为大家详细介绍“Python怎么实现批量向PDF文件添加中文水印”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么实现批量向PDF文件添加中文水印”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
      99+
      2023-06-29
    • Python实现Youku视频批量下载功能
      前段时间由于收集视频数据的需要,自己捣鼓了一个YouKu视频批量下载的程序。东西虽然简单,但还挺实用的,拿出来分享给大家。   版本:Python2.7+BeautifulSoup3.2.1 impor...
      99+
      2022-06-04
      批量 功能 视频
    • react.js如何实现批量添加与删除功能
      小编给大家分享一下react.js如何实现批量添加与删除功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近做的CMS需要用到...
      99+
      2024-04-02
    • SpringMVC+Ajax如何实现文件批量上传和下载功能
      小编给大家分享一下SpringMVC+Ajax如何实现文件批量上传和下载功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!上传form:<form ...
      99+
      2023-06-08
    • Python实现批量自动整理文件
      为了实现这样的小工具,我们先设想有下面这些功能。 1、可以自定义整理某一个路径下面的所有需要被整理的文件。2、默认情况下,使用文件后缀作为同一种类文件的文件夹名称,有其他想法的小伙伴...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作