擬似端末が必要なbashスクリプトでPythonのos.popenコマンドを実行する

擬似端末が必要なbashスクリプトでPythonのos.popenコマンドを実行する

私は以下を使用するPythonスクリプトを持っています。

size = os.popen('stty size', 'r').read().split()

テキストをきれいに印刷できるように端末ウィンドウのサイズを取得します。私の問題は、bashスクリプトを介してこのPythonスクリプトを実行する必要があるときに発生します。rosrunバックグラウンドで(&を使用して)このPythonスクリプトを呼び出すbashスクリプトがあり、エラーが発生します。

stty: 'standard input': Inappropriate ioctl for device

私はツアーの後にsttyターミナル(または疑似ターミナル)が必要であり、私が実行しているbashスクリプトがそれを提供しないためであることを理解しました。 rootユーザーを使用してコマンドを実行できないsudoため、できません。ros

script -q -cコマンドを使用しても役に立ちません。os.popenPythonスクリプトのコマンドを代替コマンドに変更せずにこの問題を解決する方法はありますか?現在は、os.popenの前に印刷を追加し、expectbashスクリプトで使用するつもりです。

ベストアンサー1

おすすめ記事