2011-12-16 5 views
1

私は、ブロックすることなくユーザーと対話する必要があるねじれたプロセスを実行しています。ユーザーは何らかのデータの入力を求められ、一度完全な行が入力されると、プログラムはそれを処理し、最終的にイベントをトリガーするという考えがあります。ユーザーがデータを入力している間、原子炉は正常に稼働し続けなければなりません。ねじれたプロセスでのユーザーの対話

これはねじれていますか?

答えて

1

twisted.internet.stdioを使用して標準入力から読み取ることができます。 stdiodemo.pyとstdin.py(http://twistedmatrix.com/documents/current/core/examples/)を参照してください。

twisted.internet.gtk2reactorを使用してGtkを使用することもできます。同じ例のページのpbgtk2.pyの例を参照してください。

他のGUIツールキットを使用することもできますが、Gtkが最もよくサポートされています。

+0

この受信機の入力テイクを使用してネットワーク経由でパイプできるように、別のプロトコルにフィードスルーできますか? – DeaconDesperado

+0

入力は、あなたが定義したクラスに書くPythonコードの束であるプロトコルによって処理されます。別のプロトコルにそれを与えることは、「オブジェクト上のメソッドを呼び出す」ということのもう一つの方法です。これはすばらしいことです。そして、Twistedはそれを防ぐことを妨げません。 :)多くの人が苦労しているように見える障害は、そのメソッドを呼び出すための良いオブジェクトへの参照*を持つようにコードを整理することです。しかし、それには特別なことはありません。例えば、オブジェクトを__init__引数として渡すか、あとで属性として設定します。何も必要ありません。 –

+0

Calderon私が苦労しているのは、入力を受け取るstdioプロトコルがあることです。ネットワークプロトコルのファクトリをstdioプロトコル内の 'factory'属性として割り当ててから、名前でメソッドを呼び出しますcli上で)ネットワークプロトコルの。私はこの例をどうにか誤解していると確信しています: http://share11.appspot.com/1421私のコード:https://github.com/DeaconDesperado/swfty-share/blob/master/client.py – DeaconDesperado

関連する問題