编程语言
首页 > 编程语言> > 为什么Python pexpect与此处的换行符不符合预期的提示

为什么Python pexpect与此处的换行符不符合预期的提示

作者:互联网

我试图从run.py执行client.py. client.py提示输入.我编写了一个简单的pexpect代码,但它与提示符不匹配并挂起.

这是我的代码

client.py

input = raw_input("Please data, default [ /Anything ]:\n")
if input == "Admin":
    print "Welcome Admin"
else:
    print "Welcom Guest"

run.py

import pexpect
child = pexpect.spawn ('python client.py')
child.expect('Please data, default [ /Anything ]:\n')
child.sendline ('anonymous')

这是另一个与expect_exact的尝试,它没有帮助我..

run1.py

import pexpect
child = pexpect.spawn ('python client.py')
child.expect_exact('Please data, default [ /Anything ]:\n')
child.sendline ('anonymous')

Python和pexpect版本 –

Python 2.7.2 (default, May 13 2014, 12:53:14)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pexpect
>>> pexpect.__version__
'3.2'
>>>

解决方法:

您可能希望使用expect_exact而不是expect,因为后面的方法需要一个正则表达式,其中[是一个特殊字符.

标签:pexpect,python
来源: https://codeday.me/bug/20190830/1770787.html