作家
登录

四个Python库,实现超实用的命令行功能

作者: 来源: 2017-07-10 15:03:32 阅读 我要评论

  •  
  •                         auto_suggest=AutoSuggestFromHistory(), 
  •  
  •                        ) 
  •  
  •     print(user_input) 
  • 我们只须要在 prompt() API 调用中添加一个新的参数。如今我们的 REPL 已经可以支撑类似 Fish Shell 那样的汗青敕令主动提示功能了。

    主动补全

    我们的 REPL 是若何知道要给出什么提示的? 我们供给了一个可能名目提示的字典。

    1. from prompt_toolkit import prompt 
    2.  
    3. from prompt_toolkit.history import FileHistory 
    4.  
    5. from prompt_toolkit.auto_suggest import AutoSuggestFromHistory 
    6.  
    7. from prompt_toolkit.contrib.completers import WordCompleter 
    8.  
    9. SQLCompleter = WordCompleter(['select''from''insert''update''delete''drop'], 
    10.  
    11.                              ignore_case=True
    12.  
    13. while 1: 
    14.  
    15.     user_input = prompt('SQL>'
    16.  
    17.                         history=FileHistory('history.txt'), 
    18.  
    19.                         auto_suggest=AutoSuggestFromHistory(), 
    20.  
    21.                         completer=SQLCompleter, 
    22.  
    23.                         ) 
    24.  
    25.     print(user_input) 

    再次,我们只需应用一个名为 WordCompleter 的 prompt-toolkit 的内置例程,它将用户输入与可能提示的字典进行匹配,并供给一个列表。

    我们如今有一个 REPL,它可以主动补全,fish 式的汗青提示,以及汗青敕令的高低浏览。 所有这些都在不到 10 行的实际代码中。

    敕令行界面创建对象包

    Click 是一个敕令行创建对象包,可以便利地解析法度榜样的敕令行选项参数和参数。 本节不介绍若何作为参数解析器应用Click;取而代之的是我将研究一些 Click 库的其他功能的。

    我们本次结不雅的结论是经由过程创建一个强大年夜的交互式说冥器,拥有常见 shell 的所有功能,例如汗青记录,键绑定,和很友爱的主动完成,模糊搜刮,分页器,编辑器和语法高亮的功能。我们用少于 20 个 python 语句实现了所有这些。

    安装 click 很简单

    1. pip install click 

    分页器

    分页器是在 Unix 上用来一次性长输出显示的实用法度榜样。分页器包含一些 less, more, most等。经由过程分页器显示敕令不仅仅是友爱的设计,并且也是须要的。

    让我们进一步来看以上的例子。我们可以用 click.echo_via_pager() 来代替默认的 print() 语句。这精晓过分页器将输出传递给 stdout,这和平台无关,是以可以在 Windows 或者 Unix 上运行。click.echo_via_pager() 将测验测验用默认的分页器来输出,以便在须要的时刻显示有色彩的代码:


      推荐阅读

      深度学习自动编码器还能用于数据生成?这篇文章告诉你答案

    什么是主动编码器主动编码器(AutoEncoder)最开端作为一种数据的紧缩办法,其特点有: 跟数据相干程度很高,这意味着主动编码器只能紧缩与练习数据类似的数据,这个其实比较显然,因>>>详细阅读


    本文标题:四个Python库,实现超实用的命令行功能

    地址:http://www.17bianji.com/lsqh/36115.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)