【发布时间】:2019-03-02 19:54:59
【问题描述】:
我正在尝试创建一个基本的 python 脚本来使用子进程将用户密码更改为存储的变量,但是我无法找到任何解释如何让它与提示通信的地方,它只发送命令。这是我要完成的工作的基本概述
import subprocess
import os
pass = root
user = FakeUser
subprocess.call(['sudo passwd', user], shell=True)
然后它要求输入新的 unix 密码:
subprocess.call([pass], shell=True)
然后它再次要求它:
subprocess.call([pass], shell=True)
希望这是有道理的。我只需要代码与终端通信,而不仅仅是发送命令。
【问题讨论】:
-
这段代码还能运行吗?
-
你需要打开stdin和stout的进程作为pty。像这样gist.github.com/thomasballinger/7979808。或者像 rnorris 显示的那样使用 pexpect
标签: python linux python-3.x terminal subprocess