1

我有一个程序试图使用另一个脚本的输出来决定要做什么。

stdout从 SSH 会话中获取 Python 进程的 ,其输出是"Verified""Unverified",当我将其打印为 时,它会出现在命令行上['Verified\n']

我的代码如下。首先我读入输出,然后打印它,然后尝试比较它。然而,它总是作为第二种选择出现,即 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 回答