我必须使用 sudo
打开终端来自 python 。考虑我的密码是pass
我需要在脚本中运行一个命令 sudo critical-stack-intel pull
.
我有以下一小段代码:
import subprocess
import shlex
command = "sudo critical-stack-intel pull"
popen = subprocess.Popen(shlex.split(command),stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
popen.communicate("pass")
popen.wait()
# print help(p)
如果我将文件运行为 python myfile.py
,它要求我在终端内输入密码。这不是我想要的。我希望 python 能够处理我给出的密码并正常运行。我该如何完成这件事?
编辑
使用popen.communicate(pass + "\n")
以及sudo -S
做了我想要的。
最佳答案
您可以使用 sudo
的 -S
选项通过 stdin 传递密码。不过,最有可能的是,使用 /etc/sudoers
允许 sudo 无需密码即可访问 ritic-stack-intel
是一个更好的主意。
关于python - 使用 sudo python 打开终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34017798/