0
点赞
收藏
分享

微信扫一扫

python3使用subprocess调用需要sudo的命令

艾米吖 2022-04-13 阅读 71
python

忘了在哪里看的一篇文章:大致是这样的

p1=subprocess.run(stdout=subprocess.PIPE,....)

P2=subprocess.run(input=p1.stdout,stdout=subprocess.PIPE)

然后实现的是: ls | grep之类的命令

然后同样忘了在哪看到的文章:

使用以下命令调用sudo的命令

os.system('echo %s | sudo -S %s ' %(sudoPassword,command))

然后结合一下,就是我现在写的这个调用

def test(sudoPassword,command):
    print('正在执行')
    p1=subprocess.run('echo '+sudoPassword,stdin=None,stdout=subprocess.PIPE,shell=True,encoding='utf-8')
    ret=subprocess.run(command,input=p1.stdout,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,encoding="utf-8")
    if ret.returncode == 0:
        # 开始创建任务
        print("success")
    else:
        print("error")
    return ret.stdout
举报

相关推荐

0 条评论