liuzhanghao

1.关于python执行shell脚本获取相应返回:

"""建议使用这个库"""
import subprocess

cmd = "ls /home"

# stdout=subprocess.PIPE 表示我标椎输出,重定向到了subprocess.PIPE的管道里,可以通过p.stdout.read()获取返回结果,shell=True表示使用的是shell,encoding="utf-8"将返回的字节数据,解码成utf-8编码格式,其实它里面有很多的参数,还可以输出重定向到文件中(当输出特别多的时候),其他参数可以根据需要查看源码
p = subprocess.Popen(cmd, shell=True, encoding="utf-8", stdout=subprocess.PIPE)
p.returncode  # 可以根据这个判断是否成功,但是有时候会返回None
print("successfully" in p.stdout.read())  # 这里非常要注意的是p.stdout.read()只能读一遍,你可以理解他是一个队列,里面的东西只能那一遍
print("successfully" in p.stdout.read())  # 第二次拿去的时候这个判断是False,因为内容已经被上面拿走了

分类:

技术点:

相关文章:

  • 2021-11-08
  • 2022-01-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-15
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-23
  • 2022-12-23
  • 2021-08-30
  • 2022-12-23
  • 2021-11-20
  • 2021-12-04
  • 2021-06-15
相关资源
相似解决方案