作家
登录

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

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

  •  
  • from prompt_toolkit.completion import Completer, Completion 
  •  
  • import click 
  •  
  • from fuzzyfinder import fuzzyfinder 
  •  
  • from pygments.lexers.sql import SqlLexer 
  •  
  • SQLKeywords = ['select''from''insert''update''delete''drop'
  •  
  • class SQLCompleter(Completer): 
  •  
  •     def get_completions(self, document, complete_event): 
  •  
  •         word_before_cursor = document.get_word_before_cursor(WORD=True
  •  
  •         matches = fuzzyfinder(word_before_cursor, SQLKeywords) 
  •  
  •         for m in matches: 
  •  
  •             yield Completion(m, start_position=-len(word_before_cursor)) 
  •  
  • while 1: 
  •  
  •     user_input = prompt(u'SQL>'
  •  
  •                         history=FileHistory('history.txt'), 
  •  
  •                         auto_suggest=AutoSuggestFromHistory(), 
  •  
  •                         completer=SQLCompleter(), 
  •  
  •                         lexer=SqlLexer, 
  •  
  •                         ) 
  •  
  •     click.echo_via_pager(user_input) 
  • 结论

    不是很轻易吗?如今你还有什么来由写不出一个优良的敕令行应用法度榜样呢,这里有一些可能有赞助的资本:

    • Click (敕令行界面创建对象包)
    • 模糊搜刮
    • 提示对象包
    • 请参阅 Prompt Toolkit 教程和 prompt-toolkit 中的例子
    • Pygments

    如今我们经由过程 Tab 加强来实现主动补全,当用户开端键入输入时,它弹出可能的建议。

    【编辑推荐】

    1. 何故突围短视频红海?秒拍海量播放下的高机能视频调剂实践
    2. 拯救你的旧代码库,不得不看的11条军规!
    3. 高效应用Python可视化对象Matplotlib
    4. 高效Java法度榜样员不克不及错过的10+个最佳库
    5. 用Python做股市数据分析(一)
    【义务编辑:枯木 TEL:(010)68476606】

      推荐阅读

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

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


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

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

    关键词: 探索发现

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

    网友点评
    自媒体专栏

    评论

    热度

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