我有一个程序试图使用另一个脚本的输出来决定该怎么做。
我从SSH会话中获取Python进程的stdout
,其输出为"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")
答案 0 :(得分:1)
readlines()
返回一个列表,正如您所指出的那样,它返回\n
你试过这个吗?:
if(len(a) and a[0] == "Verified\n"):
# verfiied, do your stuff here