zoukankan      html  css  js  c++  java
  • Python实践练习:口令保管箱

    缘由

    做中学才是最好的方法,通过这些项目来加强自己的Python掌握程度。
    所有练习目录地址

    题目描述:

    一个字典中存在着账户和密码,通过命令行参数直接执行,查看是否有这个账户。

    若有,则复制账户的密码到系统剪切板,若没有,则提示没有该账户。

    例如,字典为PASSWORDS = {'email':'F7minlBDDuvMJuxESSKHFhTxFtjVB6','blog':'VmALvQyKAxiVH5G8v01if1MLZF3sdt','luggage': '12345'}

    命令行运行
    image

    代码:

    #! python3
    # pw.py - An insecure password locker program.
    
    PASSWORDS = {'email': 'F7minlBDDuvMJuxESSKHFhTxFtjVB6',
    'blog': 'VmALvQyKAxiVH5G8v01if1MLZF3sdt',
    'luggage': '12345'}
    
    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
    
    if account in PASSWORDS:
       pyperclip.copy(PASSWORDS[account])
       print('Password for ' + account + ' copied to clipboard.')
    else:
       print('There is no account named ' + account)
    

    代码分析:

    /#! python3
    所有 Python 程序的第一行应该是#!行,它告诉计算机你想让 Python 来执行这个程序。该行以#!开始,但剩下的内容取决于操作系统。

    sys.argv : 实现从程序外部向程序传递参数。

    例子:
    写sys.py

    import sys
    print(sys.argv[0])
    print(sys.argv[1])
    print(sys.argv[2])
    

    命令行运行:

    $ python sys.py argv1 hahaha
    

    输出:

    sys.py
    argv1
    hahaha
    

    pyperclip.copy(PASSWORDS[account])复制到系统剪切板
    交互式环境:

    >>> import pyperclip
    >>> pyperclip.copy('Hello world!')
    >>> pyperclip.paste()
    'Hello world!'
    
  • 相关阅读:
    【SPOJ1825】Free Tour II-点分治+桶排序
    【BZOJ3238】差异(AHOI2013)-后缀自动机+树形DP
    Vacation
    Function
    Path
    杭电oj初体验之 Code
    挑7
    行游散记!
    坐标移动
    STL之pair类型
  • 原文地址:https://www.cnblogs.com/wudongwei/p/8986002.html
Copyright © 2011-2022 走看看