此问题在此处已有答案:
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()
但它不工作,如何修复它的帮助!!!
1条答案
按热度按时间fd3cxomn1#
错误消息表明
sudo
命令提示输入密码,但由于os.popen()
命令未在终端中运行,因此无法输入密码。解决这个问题的一种方法是在sudo中使用-S选项,它从标准输入中读取密码。你可以这样修改你的命令:
这将使用
echo
将密码(本例中为“3621”)通过管道传输到sudo
命令中,然后sudo
将从标准输入中读取密码。