美文网首页
python3执行外部程序,多种方法

python3执行外部程序,多种方法

作者: SystemLight | 来源:发表于2021-03-13 21:35 被阅读0次

初始代码

exec_code = "python ./lazy.py"
python_exe = r"C:\Users\Lisys\AppData\Local\Programs\Python\Python37\python.exe"
  • 方法一:os.system

执行shell命令,阻塞父进程,无法和子进程交互

os.system(exec_code)
  • 方法二:os.startfile

执行文件脚本,不阻塞父进程,无法和子进程交互

os.startfile("lazy.py")
  • 方法三:os.spawnv

执行文件脚本,可设置不阻塞父进程,无法和子进程交互

os.spawnv(os.P_NOWAIT, python_exe, (python_exe, "./lazy.py"))

执行文件脚本,可设置阻塞父进程,无法和子进程交互

os.spawnv(os.P_WAIT, python_exe, (python_exe, "./lazy.py"))
  • 方法四:os.popen

封装subprocess.Popen,不操作返回对象不会阻塞父进程会正确执行程序

os.popen(exec_code)

封装subprocess.Popen,调用返回对象的方法会阻塞父进程,可以与子进程交互

os.popen(exec_code).read()
  • 方法五:subprocess.Popen

创建管道,读取阻塞父进程,可交互,可通过asyncio封装为异步函数

stream = io.BytesIO()
stream.close()
p = subprocess.Popen(exec_code, shell=True, stdout=subprocess.PIPE)
p.wait()
p.poll()

相关文章

  • python3执行外部程序,多种方法

    初始代码 方法一:os.system 执行shell命令,阻塞父进程,无法和子进程交互 方法二:os.startf...

  • Python调用外部命令

    方法1: os.system 直接使用 os.system("command") 来执行外部程序,返回程序结束返回...

  • 7、各种调用执行命令

    1、易语言中执行外部程序的方法: 执行(程序名) 〈无返回值〉 执行 ([整数型 命令类型],文本型 欲操作文件名...

  • NODEJS硬实战笔记(多进程)

    利用NODE整合外部应用程序 执行外部应用程序 execFile:执行外部程序,并且需要提供一组参数,以及一个在进...

  • #Python#执行外部命令cmd/shell

    工作中出于对一个脚本的优化,需要使用Python执行外部命令。这篇文章也算是工作的简单总结。执行外部命令有多种方法...

  • php危险函数

    exec() 允许执行一个外部程序(如shell或cmd命令等) passthru() 执行外部程序并且显示原始输...

  • php执行外部程序函数

    exec():执行一个外部程序

  • 命令执行漏洞的防御

    不执行外部的应用程序或命令 尽量使用自定义函数或函数库实现外部应用程序或命令的功能。在执行system、eval等...

  • (转)LABJS源码浅析

    LABJS源码浅析 LABjs里的动态加载脚本文件,是指页面的js脚本执行时,通过多种方法去加载外部的js(主要区...

  • php 执行命令操作

    exec — 执行一个外部程序 exec ( string $command [, array &$output ...

网友评论

      本文标题:python3执行外部程序,多种方法

      本文链接:https://www.haomeiwen.com/subject/jdhfcltx.html