Python 结合bat批处理文件 实现密码保管箱

1.设计一个简单的密码保存程序

1.1 功能设计

设计一个简单的密码保存程序,将账户和对应密码保存在‘字典’中,运行程序,将账户名作为一个命令行参数输入,程序会自动将密码拷贝到系统剪贴板。
练习小程序,并不具备安全性。

1.2 代码实现

#! python3             #文件开始的必要声明,告诉计算机用Python执行

# pw.py  - An insecure password locker program

#账户和密码存储到字典(dict)PASSWORDS中
PASSWORDS = {'email':'abcde','blog':'12345','wechat':'qqqqq'}

import sys,pyperclip

if len(sys.argv) <2:
    print('Usage: python pw.py[account] - copy account password')
    sys.exit()

account = sys.argv[1]   #first command line arg is the account name
                        #输入的第一个命令行参数赋给account

if account in PASSWORDS:
    pyperclip.copy(PASSWORDS[account])
    print('Password for'+account+'copied to clipboard')
else:
    print('There is no account name'+account)

程序存储为 pw.py

命令行参数将存储在变量 sys.argv 中;
sys.argv 列表中的第一项总是一个字符串,它包含程序的文件名
( ‘pw.py’)。第二项应该是第一个命令行参数;

对于这个程序,这个参数就是账户名称,你希望获取它的密码。
因为命令行参数是必须的,所以如果用户忘记添加参数(也就
是说,如果列表中少于两个值),程序显示用法信息

2.批处理文件配置

2.1 创建 bat 文件

在 Windows 上, 你可以创建一个批处理文件,利用 Win-R 运行窗口, 来运行这个程序。
在文件编辑器中输入以下代码, 保存为 pw.bat,

@E:\Anaconda3\python.exe E:\PythonScripts\pw.py %*
@pause

第一行 @ 符号 后应该替换成自己系统对应的python.exe 所在位置
后面也要替换成自己文件所在绝对路径,将这个文件以 .bat 文件扩展名保存。(如 pw.bat

这个处理文件将使你不必在每次运行时,都输入 Python 程序完整的绝对路径。我建议将所有的批处理文件和.py 文件放在一个文件夹中,如
C:\MyPythonScriptsE:\PythonScripts

2.2 修改PATH 环境变量

在 Windows 上, E:\MyPythonScripts 文件夹应该添加到系统路径中,这样就可以从 运行对话框中运行其中的批处理文件。

在“开始”菜单中,直接搜索“编辑账户的环境变量”,输入不到一半的时候就能看到这个选项。
弹出窗口如下图所示:

环境变量

从系统变量中,选择 Path 变量,然后单击“编辑”。
在“变量值”文本字段中,追加一个分号,键入 E:\MyPythonScripts,然后单击“确定”。
PATH环境变量修改完成。

3.运行程序

现在只需要按下 Win-R,
并输入脚本的名称,就能运行 E:\MyPythonScripts 文件夹中的 Python 脚本。
运行我们的密码保管箱,只需要输入 pw “账号名称”
如下图所示
运行

系统会直接运行 pw.py ,找到字典中 对应 blog 的密码,自动复制到系统剪贴板,可以直接粘贴出来.
结果

4.总结

非常非常简单的小程序,了解了批处理文件、命令行参数的概念和使用模式

参考文献
《Python编程快速上手——让繁琐工作自动化》

发布了30 篇原创文章 · 获赞 63 · 访问量 11万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章