向Python子进程传递密码

向Python子进程传递密码,python,homebrew,Python,Homebrew,我正在尝试安装一些程序,将自制作为Python子进程 我的代码如下所示: from subprocess import call call(f"brew cask install {brew_command} --force", shell=True) 一切正常,但我找不到如何将密码传递到此进程。不确定,但我认为您可以通过将密码写入子进程的stdin流来提供密码如果它运行的是sudo,传递到stdin将不起作用,因为提示将直接发送到TTY。这是否回答了您的问题@Victor

我正在尝试安装一些程序,将自制作为Python子进程

我的代码如下所示:

from subprocess import call
call(f"brew cask install {brew_command} --force", shell=True)

一切正常,但我找不到如何将密码传递到此进程。

不确定,但我认为您可以通过将密码写入子进程的
stdin
流来提供密码如果它运行的是sudo,传递到stdin将不起作用,因为提示将直接发送到TTY。这是否回答了您的问题@Victor,顺便说一句,从安全角度来看,这可以让用户运行任何他们想要的命令,而不仅仅是
brew安装
命令。如果有人告诉您使用此代码编写的脚本安装名为
的软件包,我强烈建议您在任何情况下使用而不是
brew
,因为软件正在安装其自身的依赖项--不仅安全模型更有效,而且Nix会将其构建或下载的每个组件安装在单独的位置,这样软件就不会被放到不需要它的用户或项目的路径中;这也意味着您可以同时安装同一工具或库的多个不兼容版本,而不会产生冲突。