2016-07-28 9 views
2

私はputtyを実行するスクリプトを実行しようとしており、作成されたputty端末内でコマンドを実行します。私はcheck_callまたはPopenを使ってPythonのサブプロセスモジュールを使ってスクリプトからパテを開始することができました。しかし、スクリプトからサブプロセスのPuttyターミナル内でコマンドを実行する方法については混乱しています。私はこのコマンドをパテで実行し、その出力をパテ端末で分析できる必要があります。助けてくれてありがとう。Pythonスクリプトでサブプロセス内でコマンドを実行する方法は?

+0

あなたはパテで何をしていますか? Pythonスクリプトから直接タスクを実行する方が良いかもしれません(たとえば、SSH経由でリモートコマンドを実行する場合はparamikoを使用できます)。 –

+0

あなたの要件は何か分かりませんが、sshと同時にコマンドを与えることができます: 'ssh [email protected] 'ls -l; ps -aux; whoami'' with more info [here](http://malcontentcomics.com/systemsboy/2006/07/send-remote-commands-via-ssh.html) – mitoRibo

答えて

0

あなたはPIPEstdin引数を設定し、標準入力にデータを送信するためにPopencommunicate機能を使用する必要があります。言われ、むしろパテを通過するよりも(paramiko等)sshプロトコルを実装するPythonライブラリを使用するのが容易であり得ることを

from subprocess import Popen, PIPE 

p = Popen('/the/command', stdin=PIPE, stdout=PIPE, stderr=PIPE) 
std_out, std_err = p.communicate('command to putty') 

+1

私はこれを1と見なします。 OPは 'Popen'を使って外部プログラム(' putty')を起動する方法をすでに知っているように思われるので、特に役に立たない。問題は 'パテ'を開くことではない、問題はOPが一度開かれるとOPが望んでいることを 'パテ'にすることである... – mgilson

関連する問題