0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

pexpectでサーバコマンドをpythonコードから制御する

Posted at

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':'.'})

👇参考URL

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?