python之subprocess模块

这篇具有很好参考价值的文章主要介绍了python之subprocess模块。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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 subprocess
child = subprocess.Popen(['ping','-c','3','www.baidu.com'])
print('ok')

添加子进程等待

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

添加了wait()后,主进程会等待子进程结束再执行下面的语句。文章来源地址https://www.toymoban.com/news/detail-499801.html


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

到了这里,关于python之subprocess模块的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python subprocess执行外部命令常用方法

    subprocess模块是Python标准库中的一个模块,用于创建和控制子进程。它提供了一种在Python程序中调用其他外部命令、执行系统命令和与系统进程进行交互的方法。常用的有两种方法:subprocess.run(),subprocess.Popen() 1. subprocess.run()方法 subprocess.run()是subprocess模块中一个常用的函数,

    2024年02月06日
    浏览(31)
  • python subprocess.run()、subprocess.Popen()、subprocess.check_output()(执行系统命令、启动新的进程、连接到子进程的输入/输出管道)

    Python的subprocess模块是用于创建和管理子进程的模块。它提供了一种在Python中调用外部命令的方式,可以执行系统命令、启动新的进程、连接到子进程的输入/输出管道等。 subprocess.run 运行指定的命令,并等待其完成。args参数是一个字符串或列表,表示要执行的命令和参数。

    2024年02月09日
    浏览(39)
  • python--杂识--9--subprocess.Popen()各参数含义

    subprocess.Popen() 是一个非常有用的 Python 模块,它可以在当前进程内或者在子进程中运行系统命令,并能够查看返回结果。它的一般语法如下: 下面是这些参数的含义: args:要执行的命令及其参数,可以是字符串或序列,如果是序列,第一个元素通常是要执行的命令,后续元

    2024年02月07日
    浏览(66)
  • 使用python的subprocess执行命令、交互、等待、是否结束、解析JSON结果

    Python的subprocess模块提供了一种在Python中调用外部命令的方法。它允许您在Python程序中启动新进程,连接到它们的输入/输出/错误管道,并等待它们完成。 下面是一些subprocess模块的常用用法: 运行外部命令并获取输出: 运行外部命令并获取返回值: 运行外部命令并将输出重

    2024年02月08日
    浏览(51)
  • Python中os.system()、subprocess.run()、call()、check_output()的用法

    os.system() 是对 C 语言中 system() 系统函数的封装,允许执行一条命令,并返回退出码(exit code),命令输出的内容会直接打印到屏幕上,无法直接获取。 示例: Python 3.5 开始推荐使用这个方法执行命令,其原型如下: 其中: args: 可以是一个字符串(当 shell=True 时),也可以

    2024年02月12日
    浏览(29)
  • 【Error】Win10/Python3.9安装dlib报错:subprocess.CalledProcessError以及解决方法

    注意python3.9就选择cp39的dlib包,否则报错: ERROR: dlib-19.7.0-cp36-cp36m-win_amd64.whl is not a supported wheel on this platform. https://blog.csdn.net/DoubleJ2/article/details/115399326 显示 我没有安装Vc++,但是我已经安装好了 官网下载免费社区版,并且进入D盘cl命令后,确认已经安装 命令行找到cd D:vs

    2024年02月05日
    浏览(35)
  • Python seqeval包安装报错: error: subprocess-exited-with-error 解决方法

    pip install seqeval 报错:error: subprocess-exited-with-error 再次执行:pip install seqeval 安装成功

    2024年02月13日
    浏览(40)
  • 突发情况2-Python 3.11.0 安装pygame提示error: subprocess-exited-with-error

    1.pip3 install pygame 后 报错提示: 2.翻了各种文章后理解可能为版本不兼容导致 pygame公测版无法在高python版本下安装 于是使用 pygame的体验版即可 pip3 install pygame --pre 3.参考文献 :https://stackoverflow.com/questions/64311396/pygame-no-setup-file-exists-running-buildconfig-config-py 中评论: 9 I had the

    2024年02月02日
    浏览(42)
  • 解决:Python3.7版本安装pyinstaller一直失败,报错提示“error: subprocess-exited-with-error”

    Python3.7版本安装pyinstaller一直失败解决!无论是直接pip install pyinstaller还是指定pyinstaller各种版本安装,又或者pycharm进行安装也是失败,再就是重装PIP,还把pyinstaller的wheel文件下载到本地进行安装,总之试了各种方法都无效,折腾了好久。 pip install pyinstaller报错如下: error:

    2023年04月08日
    浏览(31)
  • error: subprocess-exited-with-error × python setup.py egg_info did not run successfully.报错

    报错的具体信息: 网上找的改正方法是: pip install --upgrade setuptools 但是不行,最后仔细看了报错信息,谜底就在谜面上啊!Here is how to fix this error in the main use cases:这一行给出了修补方法,我直接简单粗暴整最后一个。 在环境中加入SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True这

    2024年01月19日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包