1

別のスクリプトの出力を使用して何をすべきかを決定しようとするプログラムがあります。

stdoutSSH セッションから Python プロセスのを取り込みます。その出力は または のいずれ"Verified"かで、出力"Unverified"するとコマンド ラインに表示され['Verified\n']ます。

私のコードは以下です。最初に出力を読み込んでから印刷し、比較してみます。ただし、常に 2 番目のオプションとして出てくるのは、a が検証済みではないということです。おそらく、私が見逃しているものがあるかもしれませんが、上記の括弧を含めstdout、状態の多くのバリエーションを試しました. (if a == )なぜそれがまったく機能しないのかわかりません。

stdin, stdout, stderr = ssh.exec_command("python verify.py")

a = stdout.readlines()
print a

if (a == "Verified"):
    print ("a does equal verified")
else:
    print ("a does not equal verified")
4

1 に答える 1

1

readlines()リストを返し、あなたが指摘したように、\n

これを試しましたか?:

if(len(a) and a[0] == "Verified\n"):
  # verfiied, do your stuff here 
于 2012-08-20T21:28:25.320 に答える