#python #python-3.x #linux #ubuntu #pexpect
Вопрос:
У меня есть следующий скрипт на python, в котором pexpect отправляет имя пользователя и пароль в командную строку.
import pexpect
import sys
child = pexpect.spawn("sudo nordvpn login")
child.logfile_read = sys.stdout.buffer
child.expect("Email:")
child.sendline("my-email@my-email.comr")
child.expect("Password:")
child.sendline("my-password")
результат выглядит следующим образом
host@host-machine:~$ python3 script.py
Please enter your login details.
Email: my-email@my-email.com
Password: *
host@host-machine:~$
Я не знаю ,почему показывает эту звездочку, она не должна. он должен отправить его и продолжить процесс входа в систему, но не делает этого . Я попытался использовать child.interact()
после отправки пароля,
import pexpect
import sys
child = pexpect.spawn("sudo nordvpn login")
child.logfile_read = sys.stdout.buffer
child.expect("Email:")
child.sendline("my-email@my-email.comr")
child.expect("Password:")
child.sendline("my-password")
child.interact()
Теперь на выходе получается
host@host-machine:~$ python3 script.py
Please enter your login details.
Email: my-email@my-email.com
Password: * ***********************
Я не могу заставить его отправить правильный пароль, продолжить процесс входа в систему, отправить новую строку или удалить эту первую звездочку. что мне делать?