2017-08-30 10 views
0

netmikoを使用してコードを実行すると、Showコマンドがほとんど実行されず、変数名(ここではIP)のテキストファイルに結果が保存されます。 )。結果を変数と同じ名前のテキストファイルにダンプする

たとえば、IP 8.8.8.8を挿入した場合、結果は8.8.8.8という名前のテキストファイルに保存されます。何か案は?

答えて

1

問題がprint戻りNone、そしてあなたがそのprintコールの戻り値に等しいpre_rを設定しているということです。

pre_r = print(connection.send_command(command)) 

は代わりに、データに等しいpre_rを設定し、print代わり:

for command in commands: 
    pre_r = connection.send_command(command) 
    print(pre_r) 

with open(SwIp, 'wb') as f: 
    f.write(pre_r) 

forループをwithステートメント内に移動することもできます。

with open(SwIp, 'wb') as f: 
    f.writelines([connection.send_command(cmd) for cmd in commands]) 
1

SwIp変数(文字列として)IPアドレスが含まれているように見えるので、あなたは少しあなたがファイルをopen()方法を変更することでそれを行うことができます。

with open(SwIp, 'wb') as f: 
    f.write(str(pre_r)+'\n') 

注私は、ファイルに書き込まれたデータの末尾に改行を追加し、(withが自動的にそれを行います)あなたのコード内の不要なf.close()を削除しました。

関連する問題