python应用笔记之subprocess实现makefile编译

        subprocess是Python的一个模块,用于生成新的进程;这里介绍如何利用该模块实现软件工程makefile的编译。

import subprocess

def cmd_subprocess(prj_path, prj_cmd):
    process = subprocess.Popen(prj_cmd, cwd=prj_path, shell=True)
    return process

        首先基于subprocess模块创建上述函数,其中“prj_path”指软件工程Makefile的路径,“prj_cmd”指要执行的命令,以字符串形式,如"make clean && make bin "

        假设我在E:\Firmware路径下有有一个软件工程sdk,该工程目录下有Makefile文件,该Makefile文件里有以下几个伪命令。

.PHONY : bin hex clean

        则可以按照以下python代码实现上述工程的编译。

prj_path = "E:\\Firmware\\sdk"
prj_cmd = "make clean && make bin "

p1 = cmd_subprocess(prj_path, prj_cmd)
    p1.wait()
    if p1.returncode != 0:
        os._exit(1)

        后续扩展可根据项目需求,利用python强大的数据处理能力,事项bin文件后处理功能,如bin转hex,bin增加头文件信息等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡尔二叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值