スタックオーバーフローに関する私の最初の質問!
ユーザーがvi、nano、ssh、telnetなどと対話する必要がある外部プログラムを開始し、プログラムが終了したときにPythonスクリプトに戻る方法を理解しようとしています。
send/expect を使用したり、外部プログラムを自動化したりする必要はまったくありません。開始して、通常どおり使用してから、スクリプトに戻ります。これを行うには bash の方が自然な方法のように思えますが、Python で行うことを望んでいました。
スタックオーバーフローに関する私の最初の質問!
ユーザーがvi、nano、ssh、telnetなどと対話する必要がある外部プログラムを開始し、プログラムが終了したときにPythonスクリプトに戻る方法を理解しようとしています。
send/expect を使用したり、外部プログラムを自動化したりする必要はまったくありません。開始して、通常どおり使用してから、スクリプトに戻ります。これを行うには bash の方が自然な方法のように思えますが、Python で行うことを望んでいました。
統合subprocess
モジュールを使用します。インタラクティブなアプリケーションでは非常にうまく機能します。subprocess.call
アプリケーションを開始し、アプリケーションが終了するまでブロックしています。
たとえば、開始vi
して終了すると、次のように 127.0.0.1 への接続が開始されssh
ます。
import subprocess
subprocess.call(["vi"])
subprocess.call(["ssh","127.0.0.1"])