目录

      • subprocess模块
      • 导入模块
      • subprocess模块中的常用函数
        • subprocess.run()
        • subprocess.call()
        • subprocess.check_output()
        • subprocess.Popen

subprocess模块

Subprocess是一个功能强大的子进程管理模块,可以像Linux 系统中执行shell命令那样fork一个子进程执行外部的命令,subprocess 模块允许我们启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值。
使用subprocess模块的目的是用于替换os.system等一些旧的模块和方法。

导入模块

import subprocess

subprocess模块中的常用函数

subprocess.run()

首先推荐使用run方法

subprocess.run('notepad',shell=True)

shell参数:如果该参数为 True,将通过操作系统的 shell 执行指定的命令。

subprocess.call()

执行指定的命令,父进程等待子进程完成,并且返回子进程执行的结果 0/1

subprocess.call(['ls','-l')

可以直接传字符串:

subprocess.call('ls -l',shell=True)

subprocess.check_output()

获得返回结果

subprocess.check_output('ls',shell=True)

subprocess.Popen

subprocess.popen代替os.popen。可以创建一个Popen类来创建进程和进行复杂的交互。

import subprocesschild = subprocess.Popen(['ping','-c','3','www.baidu.com'])print('ok')

添加子进程等待

import subprocesschild = subprocess.Popen(['ping','-c','4','www.baidu.com'])child.wait() # 等待子进程结束print('ok')

添加了wait()后,主进程会等待子进程结束再执行下面的语句。


  • 博客主页:https://blog.csdn.net/qq233325332
  • 欢迎点赞收藏 ⭐留言如有错误敬请指正!
  • 本文由 陌北v1 原创,首发于 CSDN博客
  • 停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨