subprocess 模块主要用于创建子进程,并连接它们的输入、输出和错误管道,获取它们的返回状态。通俗地说就是通过这个模块,你可以在 Python 的代码里执行操作系统级别的命令,比如ipconfig、du -sh等。
subprocess 模块替代了一些老的模块和函数,比如:os.system、os.spawn*等。
subprocess 过去版本中的call(),check_call()和check_output()已经被run()方法取代了。run()方法为 3.5 版本新增。
大多数情况下,推荐使用run()方法调用子进程,执行操作系统命令。在更高级的使用场景,你还可以使用 Popen 接口。其实run()方法在底层调用的就是 Popen 接口。
subprocess.run
subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, shell=False, timeout=None, check=False, encoding=None, errors=None)
功能:执行 args 参数所表示的命令,等待命令结束,并返回一个 CompletedProcess 类型对象。
注意,run() 方法返回的不是我们想要的执行结果或相关信息ÿ