小编Fed*_*uci的帖子

如何在Python中的终端密码提示中输入密码

我正在尝试制作一个简单的Python脚本,在使用“su”命令(或任何其他需要管理员权限或只需要密码才能执行的命令)后在命令行中输入给定的密码。

我尝试使用 Subprocess 模块以及 pynput 来实现此目的,但一直无法弄清楚。

import subprocess
import os

# os.system('su') # Tried using this too

process = subprocess.Popen('su', stdin=subprocess.PIPE, stdout=subprocess.PIPE)
process.stdin.write(b"password_to_enter")
print(process.communicate()[0])
process.stdin.close()
Run Code Online (Sandbox Code Playgroud)

我原本希望在输入“su”命令后在给定的密码提示中输入“password_to_enter”,但事实并非如此。我也尝试给它正确的密码,但仍然不起作用。

我究竟做错了什么?

PS:我用的是Mac

shell command-line subprocess python-3.x output

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

command-line ×1

output ×1

python-3.x ×1

shell ×1

subprocess ×1