Makefile 和 Yaml 编译修改问题
### 使用pyhton修改和获取yaml的值
问题:
在使用Makefile 和 yaml 编译的时候,发现问题是需要添加一个属性值, 但是对于 添加不存在的属性,使用sed 命令似乎比较难,此方法使用python去修改yaml的值, 缺点是生成新的文件会去电原来的注释
Makefile代码
.PHONY:all
all:
@echo "Build Solution by "
@python data_test.py
pyhton 脚本
#!/usr/bin/python
# -*- coding: utf-8 -*-
import yaml
with open("package.yaml") as file:
data = yaml.safe_load(file)
data['def_config']['VERSION_1820']='56.0.34'
with open("packagonee.yaml",'w') as file:
yaml.safe_dump(data, file)
其中的package.yaml 文件要换成自己的,这里处理知识生成一个新的文件
yaml文本
name: lock_app_qingwei
description: YoC TX510 SDK
homepage: https://www.t-head.cn
type: solution
version: v7.4.y
hw_info:
board_name: tx510_cpu0_zhixin_abham
cpu_id: cpu0
mkflash_script: mkflash.sh
depends: # 该组件依赖其他的组件
- tx510_cpu0_zhixin_abham: v1.0.1
- linkvisual: v1.0.0
# - linkvisual_old: develop
- lwip: v7.4.7
- mbedtls: v7.4.5
- cjson: v7.4.5
- eth_phy: v1.0.0
- vfs: tsingmicro_tx510_1.0.0
- littlefs: v7.4.y
- ulog: v7.4.6
- drv_lcd_st7789: v1.0.0
- cx_facerecog_qw: v1.0.0
- ntp: v7.4.5
- chixiao: v0.1.0