subprocess模块

subprocess 模块允许我们启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值。

官方文档:https://docs.python.org/zh-cn/3/library/subprocess.html

使用

基本使用

  1. import subprocess
  2. subprocess.run(["ls", "-l", "/dev/null"])
  3. # crw-rw-rw- 1 root wheel 0x3000002 Mar 30 18:54 /dev/null

Popen() 方法

Popen 是 subprocess的核心,子进程的创建和管理都靠它处理

  1. import subprocess
  2. res = subprocess.Popen('ls',
  3. shell=True,
  4. stdout=subprocess.PIPE,
  5. stderr=subprocess.PIPE
  6. )
  7. print('stdout',res.stdout.read().decode('utf8')) # 获取正确命令执行之后的结果
  8. print('stderr',res.stderr.read().decode('utf8')) # 获取错误命令执行之后的结果
  9. """
  10. 该模块可以实现远程操作其他计算机的功能
  11. 动态获取命令执行并返回结果
  12. """