终端中的 Python 应答命令提示符



我需要一些帮助来开发一个python软件。基本上当它尝试做时:

os.system("commandHere usernameHere")

我需要它来回答要求输入密码的密码提示。不幸的是,密码不能作为第三个参数添加,我不知道如何处理这个问题。另外,另一个问题,我如何将终端的输出接收到我的 python 程序中?

谢谢!:)

使用subprocess.Popen比使用os.system更好,因为它允许您向进程发送数据和从中读取数据。请注意,Popen采用命令和参数的列表,而不是带空格的字符串,因此["commandHere", "usernameHere"]而不是"commandHere usernameHere"Popen完成后,我们可以写入流程并从中读取输出,如下所示。

import subprocess
p = subprocess.Popen(["commandHere", "usernameHere"], shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
p.stdin.write(b"yourPasswordn")   # What you need to input
result = p.stdout.read()           # The program's output
print(result)

相关内容

最新更新