python中调用命令行执行外部程序

Source

🌞欢迎来到python的世界 
🌈博客主页:卿云阁

💌欢迎关注🎉点赞👍收藏⭐️留言📝

🌟本文由卿云阁原创!

🌠本阶段属于练气阶段,希望各位仙友顺利完成突破

📆首发时间:🌹2022年12月16日🌹

✉️希望可以和大家一起完成进阶之路!

🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢!


  从最近在做一个项目,需要根据一个判断条件,来判断程序应该执行python程序还是C++程序。想了好多天没有解决,最后通过看大量的视频发现python中调用命令行执行外部程序。

比如现在我正在做一个目标检测和点云分割的任务,需要根据是否有检测目标来判断该执行那一段程序。

补充:cmd如何运行c程序

新建一个C程序,把他保存到桌面上。

(1) 设置环境变量

 (2)依次执行下面的e'm

比如我现在的c程序放在桌子上的

cd Desktop

gcc Untitled1.c

Untitled1

 

🥮举个栗子

现在我需要的python程序中执行calc(启动计算器)

1.阻塞式(阻塞主线程)

os.system

import os
res = os.system('mspaint')
#ret是返回值,0表示执行成功,2表示执行失败
if ret==0:
  print('file copied')
else:
  print('copy file failed!')

print('after call')

2.非阻塞式(不阻塞主线程)(这里比较推荐这种方法)

subprocess

from subprocess import PIPE,Popen
process = Popen(
  'dir c:',
  stdin=None,
  stdout='PIPE', #输出管道重定向
  stderr=None,
  shell=True
)
#取出运行输出结果 并打印
output,err = process.communicate()
print(output)