問題タブ [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 に答える
564 参照

python - Python: Pexpect モジュールで re.findall をシミュレートする

pexpect モジュールで re.findall をシミュレートすることは可能ですか?

現在、pexpectを使用してサーバーにsshするスクリプトがあります。次に、サーバーにコマンドを送信して、一連の行を p.before に返します (p は pexpect spawn です)。

注: この例で使用した IP アドレスは、この例のためだけに使用したランダムなものです。実際のスクリプトでは、任意の IP アドレスにすることができます。私が見つけようとしている情報は、IPアドレスです。

pexpect は re.findall のようなことを行うことができますか? または私はしなければなりませんre.findall(regex, p.before)?

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

python - pexpectタイムアウトは使用されておらず、デフォルトの30のみが使用されています

長い操作を実行しようとしていますが、timeout引数を指定したpexpectは、タイムアウト例外が発生するまでの時間の長さを変更しないようです。これが私のコードです:

例外は、デフォルトであるtimeout=30を示しています。

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

python - Python/Pexpectを使用してネットワークをクロールする

これは、コーディングというよりも論理的な考え方の問題です。私はすでにいくつかの動作するコードブロックを持っています-デバイスにtelnetするもの、コマンドの結果を解析するもの、辞書に入力するものなど。

ここで、未知のノード、a、b、cなどを含むネットワークを分析したいとします(ただし、1つしか知りません)

コードブロックノードにaを与えます。結果はb、cを含む表です。それを辞書に保存します

次に、その最初のエントリ(b)をターゲットとして使用し、何が表示されるかを確認します。おそらくd、eなどそしてそれら(もしあれば)をdictに追加します

次に、この新しく入力された辞書の次のノードで同じことを行います。最終的な出力は、すべてのノードが1回だけアクセスされ、表示されたすべてのデバイスがこの(または別の)ディクショナリに記録されることです。

しかし、私はそれが成長するにつれて辞書を読み直し続ける方法を理解することができず、デバイスを何度も見ないようにする方法を理解することはできません。

これは私が説明したよりも明確であると理解しています。混乱している場合はお詫びします

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

comparison - 期待できて、Pexpect ができないことは何ですか?

Pexpect の使用を開始することを検討しています。Pexpects のホームページで私はこれを見つけます:

Q: なぜExpectを使わないのですか?

A: 大好きです。それは素晴らしい。私はいくつかの本当のジャムから抜け出しましたが、Expect に必要なことの 90% を実行できる何かが欲しかったのです。サイズの 10% であること。TCL の代わりに Python でコードを記述できるようにします。Pexpect は Expect ほど大きくはありませんが、Pexpect は私が今まで Expect を使ってきたすべてのことを実行します。

Pexpect と Expect の間には 10% の違いがあります。だから私の質問は、この10%の違いは何ですか. Expect ができて Pexpect ができないことは何ですか。

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

python - Pythonでlinks2を制御する方法

links2を実行してWebページを開き、Pythonでテキストリンクを見つけてクリックするにはどうすればよいですか?

pexpectはそれを行うことができますか?任意の例をいただければ幸いです。

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

python - pexpect を使用して、virtualbox からのポートをリッスンする

Windows XPホストのvirtualboxでUbuntuからのtcp接続をリッスンするために、pythonでtcplistenerを作成しようとしています(必要に応じてpexpectを使用)。あなたの一人が私を正しい方向に向けることができれば、本当に感謝しています。ありがとうございました。

PS: この分野での経験は限られていますが、どんな助けも歓迎します。

0 投票する
4 に答える
4552 参照

python - Pexpect - ssh 接続の出力を沈黙させる

単純な pexpect スクリプトを使用して、リモート マシンに ssh し、コマンドによって返された値を取得しています。UNIXの挨拶を無視するために使用できるpexpectまたはsshwiseの方法はありますか? つまり、から

「最後に成功したログイン」と「(c)著作権」を無視して、値の正しい位置を気にすることなく、戻り値を取得するにはどうすればよいですか?

ありがとう !

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

python - ファブリックvspexpect

私はpexpectに出くわしました、そして私の印象はそれが生地に大体似ているということです。私はいくつかの比較を見つけようとしましたが、成功しませんでした。そこで、誰かが両方のツールの経験がある場合に備えて、ここで質問します。

私の印象(それらはほぼ同等であるという)は正しいですか、それとも表面上はそれがどのように見えるかです。

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

python - Pythonでサブプロセスの自発的な出力を取得するためにpexpectを使用する方法

これは、 wx.TextCtrl (または基礎となる GTK+)に関する別のポスト マルチスレッドの問題に関連しています。プライマリ スレッドからの GUI インタラクションの呼び出しを修正した後、パイプ ブロックのバッファリングの問題が再び発生することがわかりました。subprocess.stdoutから自発的な出力を取得する方法は?

要するに、現在、私は subprocess.popen を使用して外部の長時間実行プログラムを起動しています。

そして、別のスレッドを使用してバックグラウンド プログラムの stdout を読み取り、"wx.CallAfter" でコールバックします。

上記のコードは、サブプロセスのログ メッセージ block-hanging-block を (行ごとに自発的にではなく) 出力します。最悪の場合、ユーザーが次の入力を送信するまで、残りの 5 ~ 6 行のログ メッセージをタイムリーに出力できませんでした。

私の古い投稿から、pty と pexpect があることを知りました。これにより、サブプロセスが疑似 tty とやり取りしていると見なされる可能性があります。しかし、特にバックグラウンド プロセスが長期にわたる独立した実行中のタスクであることを考えると、pexpect をどのように使用すればよいでしょうか?

例:私が使用した場合

サブプロセスの出力と入力を取得するにはどうすればよいですか? wx.TextCtrl を使用して出力を印刷し、wx.TextCtrl を使用してユーザー入力をサブプロセスに転送できますか?

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

python - pexpect の出力をファイルにリダイレクトする

pexpect の出力をファイルにキャプチャしようとしました。

ただしmylogfile.txt、出力を受け取りません。ファイルは作成されますが、空です。