pexpectでサーバコマンドをpythonコードから制御する
pexpectでサーバコマンドをpythonコードから制御する手順を解説します。
注意点
pexpectはUnix環境での利用が前提となっています。
Windows環境用の拡張も行われているようですが、呼出方法が異なったりするようなので
以下ではUnix環境(Linux)での利用を前提とします。
pexpectのインストール
pip install pexpect
サーバコマンドping
の呼出
import pexpect
child = pexpect.spawn('ping 127.0.0.1 -c 10')
while True:
try:
child.expect('\r\n',timeout=3)
print(child.before)
except Exception as e:
print(type(e))
break
オプション
下記のオプション指定が可能です。
cwd:作業フォルダ
env:環境変数
<例>
下記例では、作業フォルダを/usr/local/bin
環境変数LD_LIBRARY_PATH
に.
を指定しています。
import pexpect
child = pexpect.spawn('some_command'
,cwd='/usr/local/bin'
,env={'LD_LIBRARY_PATH':'.'})