前提・実現したいこと
Pythonから別プログラムを実行し、その出力を実行元で得たい。
下記のようにプログラムを書いたのですが何も出力されず実行されたところで止まってしまいます。
該当のソースコード
Python3
1elif text.lower() == 'restart': 2 cl.sendMessage(to, "再起動中...") 3 cl.sendMessage(to, "再起動しました。再ログインしてください。") 4 #restartBot() 5 path = "restart.txt" 6 p = subprocess.Popen (('python x.py'), stdout = subprocess.PIPE, shell=True) 7for l in p.stdout: 8 print = l.strip () 9 #cl.sendMessage(to, str(print)) 10 with open(path, mode='w') as f: 11 f.write(str(l)) 12 with open(path) as f: 13 cl.sendMessage(to, f.read()) 14ret = p.wait () 15cl.sendMessage(to, '正常に再起動しました'.format (ret))
調べたものの、分からなかったためお分かりの方いらっしゃれば
ご教授お願い致します。
追記
OS: # cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) Python: # python --version Python 3.5.0
実行はLINEから「restart」と言うメッセージを得たら、実行される仕組みになってます。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/15 04:59
2018/11/15 05:18
2018/11/15 05:19
2018/11/15 05:24 編集
2018/11/15 13:54
2018/11/15 15:01
2018/11/15 15:21
2018/11/15 15:28