为pysqlite3数据库创建一个“类似”的控制台分页器界面

时间:2010-03-26 19:39:25

标签: python linux sqlite

我想为我编写的python CLI应用程序添加一些交互功能,该应用程序将数据存储在SQLite3数据库中。目前,我的应用程序读入某种类型的文件,解析和分析,将分析数据放入数据库,并将格式化的记录吐出到stdout(我通常将其传递给文件)。此文件中有大约一百万条记录。理想情况下,我想完全消除该文本文件的情况,然后在“解析和分析”部分之后循环,显示屏幕的记录,并允许用户翻阅它们并输入一些将编辑记录的命令。后端部分我知道该怎么做。

任何人都可以建议一个良好的起点,直接在控制台(如寻呼机“少”),通过ncurses或其他系统创建寻呼机前端?

2 个答案:

答案 0 :(得分:2)

您可能需要查看urwid。它是Python的控制台用户界面库。如果您真的想要使用文本控制台UI,那么examples应该足以让您相信这就是您想要的。

我会使用像pygtk这样的东西。

答案 1 :(得分:2)

稍微调查一下后,我发现较少的其他寻呼机实际使用诅咒。当我想到诅咒时,我总是想象着带有菜单和鼠标互动的蓝框界面。这些是curses的库附加组件,它提供完全我正在寻找的基本终端选择和编辑控制功能。

Tutorial on Python Curses Programming

Curses Programming with Python

在后端,当用户试图将光标移动到当前显示的记录的上方或下方时,我将让sqlite获取下一组适当的记录以供显示。