9

cmdモジュールを使用して Python アプリのプロトタイプを作成しています。

ユーザーへの一部のメッセージは非常に長くなり、ページ番号を付けたいと思います。メッセージの最初の 10 行 (または構成可能な数) が表示され、SPACE バーを押すと、メッセージの終わりまで次のページが表示されます。

ここで何かを再発明したくありません。この機能を実装する簡単な方法はありますか?

4

4 に答える 4

3

上で Yoni が言ったように、これを行う正しい方法は、実行中の cmd インスタンス内で自動的にページングする print メソッドを提供することです。Cmd のコンストラクターは、stdin および stdout 引数を取ります。標準出力のように機能し、ページング印刷メソッドをサポートするオブジェクトを提供するのはとても簡単です。

class PagingStdOut(object):
    def write(self, buffer, lines_before_pause=40):
        # do magic paging here...
于 2009-03-30T21:07:16.760 に答える
0

ページング サブルーチンは、 IPythonのgenutils.pyファイルにあります(より単純なものについては、またはを参照してください)。コードは少し複雑ですが、Windows やさまざまな種類の端末エミュレーターを含むシステムに移植できるようにするには、おそらく避けられないでしょう。pagepage_dumb

于 2009-04-02T07:37:36.683 に答える