3

我有一个程序可以输出 300-1000 行数据。我希望它有一个类似手册页的界面,而不是一次全部输出,它会显示前 50 行左右的输入,然后用户可以按“f”或“b”来浏览页。有没有办法在 Python 中做到这一点?

注意:我想分发程序,我不想强​​迫用户通过管道输出到更少/更多。此外,输出发生在程序中间,并不是程序的唯一输出,所以我不确定这是否可行。

4

2 回答 2

2

注意:我永远不会这样做,我认为这是非常糟糕的 UIX,但是......

pager = subprocess.Popen(['less'], stdin=subprocess.PIPE)

然后将所有命令的输出写入类文件对象:pager.stdin

于 2013-03-12T18:26:08.977 回答
2

你可以做一些非常基本的事情,比如:

# pseudocode 
def display_text(text):
    lines = text.splitlines()
    while lines remaining:
        display next N lines
        wait for key press

要“等待按键”,您可以执行以下操作:http ://www.daniweb.com/software-development/python/threads/123777/press-any-key-to-continue

于 2013-03-12T19:00:08.760 回答