問題タブ [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 投票する
2 に答える
262 参照

python - 各STDERRに特定の文字列をプリペンドすることは可能ですか?

私はシリアルポートを介してLinuxマシンと対話するプログラムを作成しており、次のようにメインの通信チャネルとしてpexpect.spawnを使用しています。

そして、sendline( "cmd")メソッドを使用してマシンにコマンドを送信しています。各セッションの最後に、ログファイルを解析して、コマンドがどのように動作するかを確認します。

stdoutとstderrに出力された行をログファイルから区別できるようにしたいのですが、現在はそれを行う方法がありません。これは、stderrに出力された各行の前に特定の文字列をグローバルに追加する方法ですか?

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

python - パターンが一致するまで paramiko がストリームをシークする方法

paramiko を使用してコマンドを実行し、パターンが表示されたら終了したいと思います。今、私はそれを使用してpexpect.expect(..., pattern = [pattern1, pattern2,...])

paramiko を使用する方法はありますか?

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

python - 正規表現構文を含む文字列を一致させる方法は?

次のような文字列があるとします

そして、私はそれに合わせようとしてい"?and"ます。現在、私は次のようにしています:

これは正しい使用例re.escapeですか? 他のタイプの正規表現構文が含まれている可能性のある、私が探している他の文字列リテラルで動作しますか?

pexpect.spawn.expect(pattern)私の使用例は、入力パターンが正規表現にコンパイルされる文字列型である可能性があるin の引数を使用する場合です。場合によっては、探しているものが正規表現のように見えるかもしれませんが、実際には一致させたい文字列リテラルです。

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

python - telnet セッションのキャプチャ - pexpect と telnetlib が遅すぎる

ファイアウォールから接続テーブルをプルしたい。場合によっては、20 万行を超えることもあります。

「TCP 外部 46.33.77.20:53415 内部 10.16.25.63:80、アイドル 0:00:04、バイト 3230、フラグ UIOB」

など。

これらのテーブルを取得するために、pexpect と telnetlib の両方を実装しようとしました。残念ながら、40k を超えると、タイムアウトおよび/または停止の両方が発生します。

pexpect の実装:

telnetlib の実装:

この情報を取得するためのより堅牢な方法はありますか? ページャーの値を使用して、一度に指定される行数を制御します (これを実行する前に)。また、ファイアウォールのCPUを監視しているので、接続が表示されていることがわかります。数が多すぎるか、pexpect または telnetlib が追いつくには速すぎます。

ありがとう。

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

python - pexpect を使用して manage.py syncdb ダイアログを自動化する

このダイアログを自動化するために pexpect を使用しようとしています。また、以下は pexpect を使用した python プログラムです。コードを実行すると...「今すぐ作成しますか? (はい/いいえ):」で入力を待機し、エラーでタイムアウトします。はいまたはいいえを期待しています。それで...どこで間違ったのですか?文字列は最初の入力と一致しますか?

Python スクリプト:

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

shell - pexpect - ssh 経由で script.sh を実行する

プログラムで ssh 経由でローカル スクリプトを実行するのに問題があります。
これがローカル ホストでのシェル変数の置換に問題があるかどうかはわかりません。

手動で実行する場合、

期待される出力が得られます。

CPU pctUser pctNice pctSystem pctIowait pctIdle
すべて 11.21 0.00 1.50 0.31 86.98
0 0.00 0.00 0.00 0.00 100.00
1 3.00 0.00 1.00 0.00 96.00 ....

しかし、私は得る

bash: /u02/splunk/splunk/etc/apps/Splunk_TA_nix/bin/cpu.sh: そのようなファイルまたはディレクトリはありません

次のコードを実行すると、

これらは印刷された出力です。

/usr/bin/ssh monit@server1 'bash -s' < /u02/splunk/splunk/etc/apps/Splunk_TA_nix/bin/cpu.sh
最初の pexpect コマンド出力: 1
bash: /u02/splunk/splunk/etc/ apps/Splunk_TA_nix/bin/cpu.sh: そのようなファイルまたはディレクトリはありません

pexpect が [pP]assword 行にぶつかっているので、パスワードが正しく渡されていると思います。

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

python - Pythonpexpectが期待どおりに機能しない

エミュレートされたユーザーデータを使用していくつかのシェルコマンドを実行するプログラムを作成しようとしています。

問題は、コードの最後に次の行がないと、シェルコマンドが正しく実行されないことです。

どうすればその行を取り除くことができますか?

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

python - Python pexpect - TIMEOUT がトレースバックに陥って終了する

私はpython-pexpectが初めてです。Tcl/expect では、タイムアウトに達すると、メッセージで応答して関数を終了します。http://pexpect.svn.sourceforge.net/viewvc/pexpect/trunk/pexpect/examples/sshls.py?revision=489&view=markupに投稿されたサンプル コードを使用して、同様の応答を試してみました 。

私は上記のこのコードに基づいています - 偽のパスワードを与えると、これがタイムアウトし、「エラー!」を出力して、プログラムを終了することが予想されます。しかし、それを実行すると、「トレースバック出力(以下を参照)」に入ります。誰かがプログラムに「エラー」を出力させ、プログラムを正常に終了させるのを手伝ってもらえますか。

ソースコード:

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

python - Python3で動作する「expect」またはexpectのようなライブラリの実装はありますか?

Python3でexpectのようなモジュールを使いたいです。私の知る限り、pexpect も fabric も python3 では動作しません。使用できる同様のパッケージはありますか? (いいえの場合、py3サポートがプロジェクトのロードマップにあるかどうか誰か知っていますか?)

完全に重複する機能セットは必要ありません。ここでのユースケースは必要ないと思いますが、基本的には、構成が提供するコマンドでtelnetを実行するLinuxの期待スクリプトを再実装していますが、機能を拡張しています。

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

python - winpexpectがpexpectのように動作しない

私はこの問題を何日も抱えていて、何が悪いのか理解できません。

OSXで実行されているpexpectを使用した単純なPythonスクリプトがあります。これは、ssh-keygenを起動し、returnキーを押すことを自動化して、キーペアを生成します。これは正常に機能します。Windowsでも同じことをしたいです。Windowsでsshとssh-keygenを取得するために、OpenSSH for Windowsをインストールしました。これにより、CYGWINサポートファイルの一部を使用して、通常のWindowsプログラムとしてcmdプロンプトからsshを実行できます。同じスクリプトをWindowsに移植し、pexpectをwinpexpectに変更し、対応するwinspawnを使用してサブプロセスを開始しましたが、最初のプロンプトで停止します。

私が得る出力はこれです:

そして、それがデジタルダストバニーを集めるすべての永遠のために座っているのはここです。

予想されるコロンの後に「:」が表示される理由もわかりません。

OpenSSH for Windowsとの通信を改善するために使用できる別のモジュールはありますか?