zoukankan      html  css  js  c++  java
  • python文档注释参数获取

    1.docopt模块的用法

     1 # _*_ coding:utf-8 _*_
     2 
     3 
     4 '''命令行的火车票查看系统
     5 Usage:
     6     index [-gdtkz] <from> <to> <date>
     7     
     8 Options:
     9     -h,--help  显示帮助
    10     -g         高铁
    11     -d         动车
    12     -t         特快
    13     -k         快速
    14     -z         直达
    15 Example:
    16     index  上海  北京  2018-5-28
    17     
    18 
    19 
    20 '''
    21 
    22 
    23 
    24 from docopt import docopt
    25 
    26 def cli():
    27     arguments= docopt(__doc__)
    28     print(arguments)
    29 
    30 if __name__=='__main__':
    31     cli()

    注意:文档注释之前不能再有文档注释,不然会报类型错误

    输出结果

    2.处理命令行参数

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

    项目一:获取口令

    准备知识-----pyperclip模块

    >>> import pyperclip

    >>> pyperclip.copy('Hello world!')

    >>> pyperclip.paste()

    'Hello world!'

    当然,如果你的程序之外的某个程序改变了剪贴板的内容,paste()函数就会返 回它。

    准备知识-----命令行参数

    #! python3

    # pw.py - An insecure password locker program.

    PASSWORDS = {'email': 'F7minlBDDuvMJuxESSKHFhTxFtjVB6',

    'blog': 'VmALvQyKAxiVH5G8v01if1MLZF3sdt',

    'luggage': '12345'}

    import sys

    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)

     1 #! python3
     2 
     3 # pw.py - An insecure password locker program.
     4 
     5 PASSWORDS = {'email': 'F7minlBDDuvMJuxESSKHFhTxFtjVB6',
     6 
     7 'blog': 'VmALvQyKAxiVH5G8v01if1MLZF3sdt',
     8 
     9 'luggage': '12345'}
    10 
    11 import sys
    12 
    13 if len(sys.argv) < 2:
    14 
    15   print('Usage: python pw.py [account] - copy account password')
    16 
    17   sys.exit()
    18 
    19 account = sys.argv[1] # first command line arg is the account name
    20 
    21 if account in PASSWORDS:
    22 
    23   pyperclip.copy(PASSWORDS[account])
    24 
    25   print('Password for ' + account + ' copied to clipboard.')
    26 
    27 else:
    28 
    29   print('There is no account named ' + account)

    实现功能:由于在登录是时长忘记密码,所以可以将器保存为一个.py文件,以字典的形式,然后通过字典与剪切版的结合实现密码账户的复制填充。

    扩展:

           在 Windows 上,你可以创建一个批处理文件,利用 Win-R 运行窗口,来运行 这个程序(关于批处理文件的更多信息,参见附录 B)。在文件编辑器中输入以下 代码,保存为 pw.bat,放在 C:Windows 目录下:

    @py.exe C:Python34pw.py %*

    @pause

    有了这个批处理文件,在 Windows 上运行口令保存程序,就只要按下 Win-R, 再输入 pw 。 

  • 相关阅读:
    python-super方法
    python--mixin
    python中将输出写入文件
    一致性hash算法
    mysql之触发器trigger
    python内置函数
    python3.5+Django2.2+pymysql+mysql
    File "D:PythonPython37-32libsite-packagesdjangoviewsdebug.py", line 332, in get_traceback_html   t = DEBUG_ENGINE.from_string(fh.read())
    RuntimeError: You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to po
    python:面向对象
  • 原文地址:https://www.cnblogs.com/qingsheng/p/9095101.html
Copyright © 2011-2022 走看看