忘了在哪里看的一篇文章:大致是这样的
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