首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    subprocess 使用总结

    最近在项目中有使用 subprocess 这个模块,它的功能主要是fork一个子进程,并且运行一个外部的程序。说白了就是可以用这个模块可以根据输入的字符串执行对应的系统 shell 指令。...subprocess模块中只定义了一个类: Popen。可以使用Popen来创建进程,并与进程进行复杂的交互。...subprocess.PIPE 表示一个可以被用于Popen的stdin 、stdout 和stderr 3个参数的特输值,表示需要创建一个新的管道。...subprocess.STDOUT 表示一个可以被用于 Popen 的 stderr 参数的输出值,表示子程序的标准错误汇合到标准输出。...Popen.wait(), 等待子进程结束。设置并返回returncode属性。 Popen.pid,获取子进程的进程ID。 Popen.returncode, 获取进程的返回值。

    2.1K30

    python模块--subprocess

    该模块拥有多个方法,具体如下: subprocess.call() 直接打印系统命令的执行结果,如果执行成功,返回状态码为0,否则为1,例如: #执行成功 import subprocess CALL1...直接打印系统命令的执行结果,使用方法与subprocess.call()相同,只不过该函数会检测返回状态码,如果为1,则会抛出subprocess.CalledProcessError错误,例如: import... subprocess # 执行成功 # CHECK_CALL1 = subprocess.check_call('ping 127.0.0.1 -n 1',shell=True) # print(CHECK_CALL1...错误,例如: import subprocess #执行成功 CHECK_OUTPUT1 = subprocess.check_output('ping 127.0.0.1 -n 1',shell=True...=subprocess.PIPE) STDOUT2 = POPEN2.stdout # print(str(STDOUT2.read(),'gbk')) POPEN3 = subprocess.Popen

    79810

    Python之Subprocess模块

    如果由subprocess去执行系统命令的时候并不会让主进程去执行,而是主进程会开辟出一个子进程去执行,并不会影响到主进程的运行,主进程该干嘛就干嘛,那么又有个问题,大家都知道进程之间的内存空间是独立的...subprocess基本工作原理: ?...subprocess简单案例 import subprocess # 创建一个子进程去执行系统命令 obj=subprocess.Popen( 'ps -ef', # 执行的系统命令...(必须是字符串格式) shell=True, # 指定命令解释器来解释执行的这条命令 stdout=subprocess.PIPE, # 将执行的正确结果丢到管道(共享内存空间...,用于进程之间共享) stderr=subprocess.PIPE # 将执行的错误结果丢到另一个新的管道 ) ''' 当从任意一个管道,例如正确或者错误结果管道中获取值, ''' # 从正确管道中获取值

    71110

    解决subprocess.CalledProcessError: Command ‘‘

    的subprocess模块执行外部命令时,有时候会遇到​​CalledProcessError​​的异常,这个异常表示执行的命令返回一个非零的退出状态码。...可以使用wait()方法等待子进程完成。Popen类还提供了许多其他方法和属性,例如kill()用于终止子进程,poll()用于检查子进程是否结束等。...subprocess模块也提供了一些其他函数和常量,用于设置和处理子进程的其他参数和属性,例如设置执行路径、设置环境变量、设置超时时间等。...使用subprocess模块可以方便地调用外部程序、执行系统命令、进行并行处理等。它在很多场景中都非常有用,例如执行外部命令、调用系统工具、进行系统管理等。...然而,由于涉及到操作系统的底层调用,使用subprocess模块时需要注意安全性、错误处理和兼容性,以确保程序的稳定性和可靠性。

    1.6K60

    subprocess实用手册

    背景 python执行操作系统的命令,如python执行shell命令 subprocess模块主要用于创建子进程,并连接它们的输入、输出和错误管道,获取它们的返回状态。...操作 引用 python自带subprocess包,直接import引入即可 import subprocess 常用方法 需要注意2.X版本和3.X版本 3.X版本 推荐使用run方法,3.5版本才新增该方法...其值可以是subprocess.PIPE、subprocess.DEVNULL、一个已经存在的文件描述符、已经打开的文件对象或者None。subprocess.PIPE表示为子进程创建新的管道。...>>> subprocess.run("exit 1", shell=True, check=True) Traceback (most recent call last): ... subprocess.CalledProcessError...1 root root 1, 3 Jan 23 16:23 /dev/null\n') >>> subprocess.run("python --version", stdout=subprocess.PIPE

    1.2K20

    Python模块学习:subprocess模块详解

    subprocess.call(),subprocess.getoutput()等上面列出的其他函数来使用subprocess模块的功能;3.subprocess.run()、subprocess.call...()、subprocess.check_call()和subprocess.check_output()都是通过对subprocess.Popen的封装来实现的高级函数,因此如果我们需要更复杂功能时,可以通过...Popen.wait(timeout=None) 等待子进程结束,并返回状态码;如果在timeout指定的秒数之后进程还没有结束,将会抛出一个TimeoutExpired异常。...>>> >>> p1 = subprocess.Popen(['df', '-Th'], stdout=subprocess.PIPE)>>> p2 = subprocess.Popen(['grep'...当subprocess.call()、subprocess.check_call()、subprocess.check_output()和subprocess.run()这些高级函数无法满足需求时,我们可以使用

    4K40
    领券
    首页
    学习
    活动
    专区
    圈层
    工具
    MCP广场