首页 > 编程语言 >v831开发日记-交叉编译之python-build解析

v831开发日记-交叉编译之python-build解析

时间:2023-06-10 20:34:06浏览次数:43  
标签:v831 python 代码 project build path SDK os sdk

python部分

#!/usr/bin/env python
#-*- coding = utf-8 -*-

#
# @file from https://github.com/Neutree/c_cpp_project_framework
# @author neucrack
# @license Apache 2.0
#

#这段代码使用Python语言,导入了sys和os模块。它定义了一个名为sdk_env_name的变量,其值为"LIBMAIX_SDK_PATH"。
#接下来,代码使用os和sys模块获取SDK的绝对路径。
#它首先使用sys.path[0]获取Python文件的绝对路径,然后使用os.path.abspath将其转换为SDK的绝对路径。
#具体地,它通过sys.path[0]获取Python文件所在的目录,然后使用os.path.abspath计算出SDK所在的目录。
#../../表示在目录结构中向上回溯两级。

import sys, os

sdk_env_name = "LIBMAIX_SDK_PATH"

# get SDK absolute path
sdk_path = os.path.abspath(sys.path[0]+"/../../")
###########################
try:
    sdk_path = os.environ[sdk_env_name]
except Exception:
    pass
print("-- SDK_PATH:{}".format(sdk_path))
#这段代码使用了Python语言,用于从环境变量中获取SDK的路径,并在控制台打印SDK的路径信息。
#它首先尝试从环境变量中获取sdk_env_name变量所指定的环境变量的值,赋值给sdk_path变量。
#如果尝试失败,代码将不会抛出任何异常。
#然后,代码使用print语句将SDK的路径打印到控制台,以供开发者查看。
#将sdk_path变量的值格式化为字符串,然后作为" -- SDK_PATH:{}"参数传递给print函数。
#这将在控制台输出一个以-- SDK_PATH:开头的消息,后面跟随SDK的路径信息。
#总之,这段代码用于获取SDK的路径并在控制台打印SDK路径信息,以便开发人员记录或调试。
#############################
# tool chain staging dir
os.environ["STAGING_DIR"] = "build"
#这是一条关于在Python中设置环境变量的代码。
#这段代码将build作为环境变量STAGING_DIR的值设置到os.environ字典中,以便在后续代码中使用。
#具体地,代码使用os模块的environ变量来获取当前进程的所有环境变量,并在这个字典中添加一个名为STAGING_DIR的新变量,其值为build。
#这意味着,在代码的其他部分中,可以使用os.environ["STAGING_DIR"]获取build值,并将其用于后续操作。
###############################

# execute project script from SDK
project_file_path = sdk_path+"/tools/cmake/project.py"
#这段代码的作用是将变量sdk_path和相对路径/tools/cmake/project.py拼接起来,
#生成文件project.py在文件系统中的绝对路径,并将其赋值给变量project_file_path。
#具体地,变量sdk_path用于存储SDK所在的路径,而/tools/cmake/project.py是相对于SDK根目录的相对路径。
#代码中使用了加号+来将这两个字符串拼接起来,生成了表示project.py在文件系统中绝对路径的字符串,最后赋值给project_file_path变量。
#总之,这段代码是用于在Python中生成文件的绝对路径的示例代码。
###############################
with open(project_file_path) as f:
    exec(f.read())

结合python部分的知识

标签:v831,python,代码,project,build,path,SDK,os,sdk
From: https://www.cnblogs.com/recodemo/p/17471868.html

相关文章

  • 【Python】在同一图形中的绘制多个子图
    1.引言有时我们需要并排绘制两个图形,这不仅是为了更好地利用空间,而且主要是因为为了更加直观地对比分析数据。其实在python中可以利用subplot来实现上述功能。闲话少说,我们直接开始吧!2.准备工作这里,我们不妨先来举个例子,比方说,我们正在分析一家出租车公司的出行分布,假设我们想知......
  • 写了一个下载图片和视频的python小工具
    谁先掌握了AI,谁就掌握了未来的“权杖”。在网上冲浪时,总会遇到一些好看的视频和图片,情不自禁地想“据为己有”。于是,就有了下载图片和视频的需求。浏览器插件工欲善其事,必先利其器。要做一件事,首先得找到对应的工具。下载网络图片或视频,当然首选浏览器插件了。使用Micr......
  • 实验六 turtle绘图与python库应用编程体验
    task1_1实验源码:fromturtleimport*defmove(x,y):'''画笔移动到坐标(x,y)处'''penup()goto(x,y)pendown()defdraw(n,size=100):'''绘制边长为size的正n变形'''foriinrange(n):......
  • Python潮流周刊#6:Python 3.12 有我贡献的代码!
    你好,我是猫哥。这里记录每周值得分享的Python及通用技术内容,部分为英文,已在小标题注明。(标题取自其中一则分享,不代表全部内容都是该主题,特此声明。)首发于我的博客,https://pythoncat.top/posts/2023-06-10-weekly6......
  • DES加密算法及Python实现
    一、DES加密算法原理DES加密算法是一种对称密钥的块加密算法,1976年成为美国联邦标准。其加密流程如下:密钥的生成:将64位密钥按照置换选择1表进行置换,得到56位的密钥,并分成左右两部分各28位。然后使用16个不同的演算法对密钥进行处理,生成16个48位子密钥。明文分组:将明文分成64位的块,......
  • 使用python插入一亿数据到mysql
    应用场景,数据库数据达到千万以后,做数据分析执行脚本开始变慢,所以用到clickhouse,先插入一亿数据测试先安装pip支持mysql.connector,我安装的python3.11pip3installmysql-connector-python再使用pip3list查看是否安装成功以下是mysql创建表语句CREATETABLE`test_table`(......
  • Python+sklearn使用DBSCAN聚类算法案例一则
    DBSCAN聚类算法概述:DBSCAN属于密度聚类算法,把类定义为密度相连对象的最大集合,通过在样本空间中不断搜索最大集合完成聚类。DBSCAN能够在带有噪点的样本空间中发现任意形状的聚类并排除噪点。DBSCAN算法不需要预先指定聚类数量,但对用户设定的参数非常敏感。当空间聚类的密度不均匀、......
  • 1000道Python题库系列分享三(30道)
    上一期题目链接:1000道Python题库系列分享二(48道)上一题题目参考答案:2.1 312.2 'F'2.3 Python采用的是基于值得内存管理方式,在Python中可以为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一个内存地址;Python具有自动内存管理功能,会自动跟踪内存中所有的值,对于没......
  • 1000道Python题库系列分享四(40道)
    热烈庆祝2018年2月董付国老师《Python程序设计(第2版)》出版18个月第5次印刷,《Python可以这样学》出版12个月第5次印刷,系列教材《Python程序设计基础》、《Python程序设计开发宝典》、《中学生可以这样学Python》等出版两年半以来已累计印刷25次。上一期题目链接:1000道Python题库系列......
  • Python+sklearn使用支持向量机算法实现数字图片分类
    关于支持向量机的理论知识,大家可以查阅机器学习之类的书籍或网上资源,本文主要介绍如何使用Python扩展库sklearn中的支持向量机实现数字图片分类。1、首先编写代码生成一定数量的含有数字的图片上面代码运行会生成80000张含有数字0到9的图片,并加入随机干扰,交换相邻两个像素的颜色。......