首页IT科技python的工具(Python工具箱系列(十三))

python的工具(Python工具箱系列(十三))

时间2025-08-04 19:15:55分类IT科技浏览7409
导读:上文介绍了使用AES算法进行文件加解密的代码。但是如果在代码中写死了(hardcode 文件名,每次要加解密文件都要去改python源代码,显然有些太笨了。为此,可以使用命令行参数来在不改动源代码的情况下,对命令行参数所指定的文件进行加/解密操作。也可以指定加解密后输出的文件名称,以方便使用。...

上文介绍了使用AES算法进行文件加解密的代码                。但是如果在代码中写死了(hardcode)文件名                ,每次要加解密文件都要去改python源代码                        ,显然有些太笨了                        。为此        ,可以使用命令行参数来在不改动源代码的情况下            ,对命令行参数所指定的文件进行加/解密操作        。也可以指定加解密后输出的文件名称                        ,以方便使用            。

我们如下约定:

python文件名为aeshandler.py -i,表示输入文件名 -o,表示输出文件名 -e,表示加密 -d,表示解密

使用python经典的命令行框架argparse            ,它是python标准库的一部分        ,也就是说安装好python3.8就自带这个框架                        ,不需要再安装什么                        。程序员经常说:talk is cheap,show me your code            。所以将代码如下所示        。

命令执行的效果如下:

# 以下命令显示帮助信息 python .\aeshandler.py usage: aeshandler.py [-h] [-d] [-e] [-i INPUT] [-o OUTPUT] optional arguments: -h, --help show this help message and exit -d, --decry 解密模式 -e, --encry 加密模式 -i INPUT, --input INPUT 要处理的文件 -o OUTPUT, --output OUTPUT 要输出的文件 # 以下命令加密指定的文件                ,加密后的文件为test1.docx python .\aeshandler.py -e -i ../resources/神龟虽寿.docx -o test1.docx Namespace(decry=False, encry=True, input=../resources/神龟虽寿.docx, output=test1.docx) # 以下命令解密指定的文件,要解密的文件为test1.docx    ,解密后的文件为test2.docx python .\aeshandler.py -d -i test1.docx -o test2.docx Namespace(decry=True, encry=False, input=test1.docx, output=test2.docx)

通过命令行参数的使用                        ,可以为用户提供了最大的灵活性                        。通过命令行                    ,再结合SHELL脚本等,可以批量处理大量的文件                、目录                    ,因此命令行仍然是专家                        、高手的最爱                。

声明:本站所有文章                        ,如无特殊说明或标注    ,均为本站原创发布    。任何个人或组织                ,在未征得本站同意时                        ,禁止复制        、盗用            、采集                        、发布本站内容到任何网站            、书籍等各类媒体平台                        。如若本站内容侵犯了原著者的合法权益        ,可联系我们进行处理                    。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
如何应对网站流量突然下降?(从这八个方面入手提升网站访问量)