当我在交互会话中运行时,Pexpect工作得很好,但是如果它有彩色文本,那么它不仅匹配文本,它还与ansi颜色一起匹配文本。这方面的正则表达式非常复杂和庞大。有人能给我一些建议吗。在
例如:
而不是仅仅寻找:
"opendaylight-user@root"
它在寻找:
"or '\x1b[1mlogout\x1b[0m' to shutdown OpenDaylight.\r\r\n\r\n\x1b.\r\r\n
\r\n\x1b[36mopendaylight-user\x1b[0m\x1b[1m@\x1b[0m\x1b[34mroot\x1b[0m>".
这只是表达的一部分。在
import pexpect
import os
def ex1():
os.chdir("opendaylight/distribution-karaf-0.3.4-Lithium-SR4/bin/")
child=pexpect.spawn("./karaf clean",cwd="/home/ubuntu/opendaylight/distribution-karaf-0.3.4-Lithium-SR4/bin/")
child.expect("opendaylight-user@root>")
print child.before
ex1()
错误
^{pr2}$
我用expect_exact()而不是expect()得到了答案。expect()与正则表达式匹配,但expect_与字符串完全匹配。在
相关问题 更多 >
编程相关推荐