在python中发送密码到Ubuntu [重复]

j2cgzkjk  于 2023-03-22  发布在  Python
关注(0)|答案(1)|浏览(118)

此问题在此处已有答案

Using sudo with Python script(14个答案)
Enable safari driver in terminal from python(1个答案)
4天前关闭。
有以下命令:

print(os.popen("sudo tshark").read())

我输入它,得到一个像这样的错误:
sudo:需要终端读取密码;使用-S选项从标准输入读取,或者配置askpass帮助器
我试着这样解决问题:

proc.stdin.write('3621\n')
proc.stdin.flush()

但它不工作,如何修复它的帮助!!!

fd3cxomn

fd3cxomn1#

错误消息表明sudo命令提示输入密码,但由于os.popen()命令未在终端中运行,因此无法输入密码。
解决这个问题的一种方法是在sudo中使用-S选项,它从标准输入中读取密码。你可以这样修改你的命令:

print(os.popen("echo '3621' | sudo -S tshark").read())

这将使用echo将密码(本例中为“3621”)通过管道传输到sudo命令中,然后sudo将从标准输入中读取密码。

相关问题