python - Pexpect 没有使用 python 将密码传递给命令行
问题描述
我有以下 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.com\r")
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.com\r")
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: * ***********************
我无法让它发送正确的密码、继续登录过程、发送新行或删除第一个星号。我做什么面包车?
解决方案
推荐阅读
- c++ - 如何在 Visual Studio 中将图标应用于您的文件?{控制台 C++ 应用程序}
- bash - awk 添加带有多个换行符的文本块
- java - 需要帮助存储我从 while 循环中获得的值
- php - Laravel 7 不渲染生产更新
- node.js - 检查护照jwt中jwt令牌是否已过期的正确方法
- html - 媒体查询不会覆盖 Sass 中的预设样式
- excel - 在多个文件上运行 excel 宏
- apache-kafka - NiFi中的Kafka oauth 2.0
- sql - PostgreSQL 在另一个表上使用 LIKE 过滤表
- google-apps-script - 在 Apps 脚本中使用 getValues() 时,如何确保 Google 工作表更新 importRange()