Python 如何让pexpect在进程上触发。linux命令行提示符除了($)之外?
我在检测Linux命令提示符的$pexpect时遇到问题。为了更好地了解我正在努力实现的目标: 要触发我的pexpect的命令行提示符示例: testcomp@testcomp-桌面:~$ 检测它的我的pexpect代码示例: child.expect['$',pexpect.TIMEOUT]Python 如何让pexpect在进程上触发。linux命令行提示符除了($)之外?,python,linux,pexpect,Python,Linux,Pexpect,我在检测Linux命令提示符的$pexpect时遇到问题。为了更好地了解我正在努力实现的目标: 要触发我的pexpect的命令行提示符示例: testcomp@testcomp-桌面:~$ 检测它的我的pexpect代码示例: child.expect['$',pexpect.TIMEOUT] 测试后的结果是,它选择了pexpect.TIMEOUT,即使有提示。我还尝试了$like\$和~$FYI的两种不同变体。如果您想与我使用minicom的Linux机器进行控制台连接,这是应该可以使用的代码
测试后的结果是,它选择了pexpect.TIMEOUT,即使有提示。我还尝试了$like\$和~$FYI的两种不同变体。如果您想与我使用minicom的Linux机器进行控制台连接,这是应该可以使用的代码。上面的评论中描述的是使用“[$]”来检测Linux命令行提示符,它似乎工作得很好
child = pexpect.spawn("minicom -b 115200 -o -D /dev/ttyUSB0")
check = child.expect(["login",'[$]'])
if(check == 0):
child.sendline(username)
child.sendline(password)
else:
child.sendline("\r")
@Asocia如果您不能期望它,那么是否有任何方法来验证命令提示符是否已打印?首先:$在解析为正则表达式时匹配行尾;它和美元符号不符。[$]应该有效;\$是否有则取决于你把它放在什么样的字符串中。第二:我们确实需要知道是否应该看到提示。请将问题中的代码扩展为一个可运行的示例,该示例应该能够匹配提示,或者通过生成类似bash-l的东西来实例化子对象-i@Charles达菲,你说得对,[$]表达式确实有效。谢谢