以下のコードをVS code上で作成し,ゲートウェイ機器(Armadillo-IoT G3)とのSSH接続,ファイルの一覧を取得し,HTMLで表示するため「ls」コマンドを送信し,リストを取得しようとしています。
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('12-345-678-901.napter.soracom.io', port=12345, username='test', password='12345')
stdin, stdout, stderr = ssh.exec_command('ls')
print(stdout.read(), type(stdout.read()))
output = stdout.read().decode('utf-8')
print(output)
ssh.close()
return render_template ('Test_top_page.html', list = output)
print(stdout.read(), type(stdout.read()))の行で,「ls」コマンドの応答を取得していることは確認できるのですが,その次の行でoutputに格納できず,HTML側に渡すデータがなくなってしまうのですが,この原因は何でしょうか。
なお,「ls」コマンドを送信し,応答をprint関数で表示すると以下のように表示されます。
b'test.py\ntest.csv\ntest.txt\n' <class 'bytes'>
これをdecodeし,文字列かリストにしてHTML側に渡し,web上で表示したいと考えています。
0 コメント