問題タブ [pexpect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
589 参照

python - bashシェルはコマンドを理解しないため、pexpectはbashシェルを起動せずにパイプを使用する必要があります

pexpectを使ってこんなことをしたい

問題は、そのコマンドをテキストファイルに出力したいのですが、spawn() でパイプを使用できないため、シェルを起動する必要があることです。bash シェルは sysinfo -v を理解せず、それについて文句を言います。

bashターミナルを開かずに目的の出力をファイルに取得できる方法を知っていますか? grep せずに spawn() メソッドを使用するだけで問題を解決できますが、完全に一致させる必要があるため、grep が必要です。

ありがとうございました

0 投票する
2 に答える
9558 参照

python - Pexpectはタイムアウトを尊重しません

pexpectはタイムアウトで機能していません。

pexpectを機能させるにはどうすればよいですか?

0 投票する
1 に答える
7483 参照

python - pexpect からの出力をキャプチャする

で困っていpexpectます。tralics次のように、ラテックス方程式を読み取り、MathML 表現を出力する出力を取得しようとしています。

だから私は pexpect を使って数式を取得しようとします:

出力には式がありますが、最初に元の入力があり、最後にいくつかの制御文字があります。

出力文字列をきれいにすることはできますが、何か基本的なものが欠けているに違いありません。MathML を取得するよりクリーンな方法はありますか?

0 投票する
1 に答える
7013 参照

linux - LinuxのProcessにKEY_DOWNイベントとKEY_UPイベントを送信することを期待してください

QtGUIアプリケーションに埋め込まれたLinuxキープレスイベントをシミュレートしたいと思います。主に、KEY_UP、KEY_DOWN、KEY_LEFT、KEY_RIGHT、およびKEY_F{1-2-3}キーの押下をシミュレートしたいと思います。Xを利用できません。

ここにASCII文字テーブルがあります:

そして、私は物事を送信する方法を理解しています。たとえば、CNTRL-Tは、そのテーブルをスポーンし、expectスクリプトで次のように送信することにより、アプリケーションにそのテーブルを使用します。

KEY_???の送信方法に関するドキュメントや例が見つからないようです。Expectを使用してキーを押します。Expectを使用してこれを行うにはどうすればよいですか?

不可能な場合、キー押下をプロセスに送信する他の方法はありますか?エスケープシーケンスを/dev/ input/keypadにエコーできないようです...

アップデート:

コメントありがとうございます。

次の手順を実行すると、矢印キーが生成する出力を確認できます。

infocmpxtermの出力も次のように表示されます。

次のように、Buildrootの「menuconfig」(Linuxによく似ています)プログラムでいくつかの単純なエスケープシーケンスを試しました。

menuconfigを開いて、カーソルを1つ下に移動させたいのですが。ただし、「interact」ステートメントが含まれていても、すぐに起動して終了します。理由について何かアイデアはありますか?ありがとう -

0 投票する
1 に答える
629 参照

python - pexpect.runは長いコマンドを実行できません

pexpect.runコマンドの実行に使用しています。下記参照:

これを実行すると、次のようにoutputなります。

しかし、シェルで同じコマンドを実行すると、毎回機能します。問題はわかりません。どんな助けでも大歓迎です!pexpect.runでは、コマンドをなんらかの凝った方法で分割する必要がありますか?

0 投票する
1 に答える
398 参照

python - サブプロセスによってシステム時刻が変更された場合、誤ってタイムアウトすることが予想されます

Redhat linux

システム時刻を更新するシェルスクリプトである子プロセスを生成しています。以下のように期待して30分のタイムアウトがあります。私の子プロセスは、他のコマンドとともにシステム時間を4時間先に更新します。以下の行を実行すると、1の結果が得られます。

真のタイマーを使用してタイムアウトするようにpexpectを作成するにはどうすればよいですか?

0 投票する
3 に答える
3173 参照

python - pexpectはカーソルの動きを送信します

pexpectを使用して、上、下、左、右のキーなどのカーソルの動きを送信するにはどうすればよいですか。以下の例は、上/下キーを使用してページ上のさまざまなリンクを選択するelinksを自動化するためのものです。

0 投票する
1 に答える
166 参照

shell - pexpect 応答には、次のような要求のエコーが含まれます

pexpect前にandを使用したことがありsendlineますが、今回はパイプワイルドカードを使用してより長いコマンドを実行しています。以下を参照してください。

sendLine 関数を持つ私のクラスは、次のようになります。

しかし、コードを実行しているとreturnedString、応答だけでなく要求も含まれていることがわかりました。

したがって、を印刷するreturnedStringと、次のようになります。

応答に同じバッファ内の要求が含まれるのはなぜですか? 私はすでに設定setecho(False)していますが、役に立ちません!

編集: (正しい修正) 応答からすべてを手動で削除し、要求も削除する必要があります。setecho(False) はまだ何もしません!

0 投票する
2 に答える
12342 参照

python - Python Pexpect SSH コマンド ライン ログイン引数

pexpect.py スクリプトを使用してログインし、ホスト名情報を取得しています。
基本的に私はこのように実行します

以下で、いくつかのコマンドを実行して終了することが自動化されていることがわかります。ユーザーが見たい情報を選択できるように、最後に行を追加できるようにしたいと思います。したがって、上記のコマンド ラインの代わりに、次のようになります。

基本的に、-x が.. uptime で、-z が ifconfig.. のリストには、-a、-b、-c もあります。これらの引数をコードに追加する方法がわかりません。

0 投票する
3 に答える
2733 参照

python - pexpectのログファイルでタイムスタンプを取得するにはどうすればよいですか

私はpexpectを使用してtelnetおよびssh通信を処理しています。また、すべての要求/応答をログファイルに書き込んでいます。を使用しpexpect.logfile(filename)ます。

ログファイルにもタイムスタンプを入れたいのですが。ドキュメントのどこにも見つかりません!誰かがこの機能を実装する方法を知っていますか?