なんだかクッソ長いタイトルですが……要は
- python3側はwhileループで標準入力にきた結果を待ち構えている
- 標準入力には別の端末で生成された文字列を送り込みたい
という課題を、これまで作ってきたモンの寄せ集めで作ってみましたという話
実際のところ
名前付きパイプの生成
$ mkfifo FOOBAR
python3側
標準入力からきた文字列を改行を取り除いて長さをprintするだけ
実際作ったものはロボットのSDKに接続されています
import sys def yourFunction(buf): if (buf != "") : print(len(buf)) while True: data = sys.stdin.readline() data = data.rstrip('\n') yourFunction(data)
コマンド側(送り)
$ echo 12 > FOOBAR $ echo 34 > FOOBAR
コマンド側(受け)
$ python3 serialCmdSample.py < FOOBAR 2 2