|
11| 3
|
[项目] 【花雕动手做】CanMV K230 AI视觉识别模块之使用文件读写 |
![]() 什么是 CanMV K230? CanMV K230是一款高性价比的RISC-V边缘AI平台,凭借低功耗、强视觉处理能力和开放的开发生态,成为嵌入式AI开发的理想选择,尤其适合需要快速部署视觉与AI功能的创客、中小企业及教育场景。CanMV 是一套 AI 视觉开发平台,K230 是其核心芯片。该模块结合了图像采集、AI推理、边缘计算等能力,适合嵌入式视觉应用开发。 CanMV:类似 OpenMV 的图像处理框架,支持 Python 编程,简化视觉识别开发流程。 K230 芯片:嘉楠科技推出的 AIoT SoC,采用 RISC-V 架构,内置第三代 KPU(AI加速单元),算力高达 6 TOPS,性能是 K210 的 13.7 倍。 ![]() ![]() |
|
知识点 文件读写是程序与外部存储交互的基础操作,用于将数据持久化到磁盘(如保存配置、日志、用户数据)或从磁盘读取数据(如加载文件、解析内容)。不同编程语言的实现语法不同,但核心逻辑一致,通常包括打开文件、操作文件(读 / 写)、关闭文件三个步骤。 核心概念 文件路径:指定文件在存储系统中的位置(绝对路径如C:/data/file.txt,相对路径如./files/log.csv)。 打开模式:决定文件的操作类型,常见模式: r:只读(默认,文件不存在则报错)。 w:只写(覆盖原有内容,文件不存在则创建)。 a:追加(在文件末尾添加内容,不覆盖原有数据)。 r+/w+/a+:读写混合模式。 二进制模式(如rb/wb):用于非文本文件(图片、音频、二进制数据)。 流(Stream):文件操作通过 “流” 实现,将数据以字节序列的形式传输(读是输入流,写是输出流)。 常见操作场景 1. 文本文件读写(如.txt、.csv) 读文件:按行读取、全部读取,适用于配置文件解析、日志分析等。 写文件:写入字符串、多行内容,适用于保存用户输入、生成报告等。 2. 二进制文件读写(如.png、.zip、.bin) 以字节(byte)为单位操作,适用于处理图片、视频、压缩包等非文本数据。 3. 高效读写 大文件读写时,避免一次性加载到内存(可能导致内存溢出),而是分块读取(如每次读 1024 字节)。 多数语言支持 “上下文管理器”(如 Python 的with语句),自动管理文件关闭,避免资源泄露。 示例(Python 语言) python 注意事项 编码问题:文本文件需指定编码(如utf-8、gbk),否则可能出现乱码。 资源释放:必须确保文件操作完成后关闭文件(上下文管理器可自动处理),否则可能导致文件被锁定或数据未完全写入。 异常处理:文件操作可能出现错误(如路径不存在、权限不足),需通过try-except捕获异常。 ![]() |
|
【花雕动手做】CanMV K230 AI视觉识别模块之使用文件读写 项目测试实验代码 我们用CanMV IDE打开例程代码,将K230用usb线连接到电脑上 在系统的文件管理器中,打开CanMV对应的目录。我们进入 CanMV/sdcard这个目录里面 ![]() CanMV/sdcard/ 目录对应在代码里面就是 /sdcard/ 点击CanMV IDE左下角的运行按钮,同时打开下面的串行终端,可以看到这里输出了Hello Yahboom ![]() 等待程序运行结束后,我们再回到文件管理器里面,可以看到这里多出来了一个yahboom.txt文件 ![]() 我们双击打开这个文件,里面的内容是“Hello Yahboom” ![]() |
代码讲解 我们使用with open as 语法来打开文件系统中的文件 open()方法有两个参数,第一个参数是文件路径,第二个参数是打开模式, 常用的有 r (read,读取模式) 和 w (write, 写入模式) with open as .... 是一种更为推荐的文件操作方法 with open as 会自动关闭文件,无论代码是否发生异常。退出 with 代码块时,Python 会自动调用文件对象的 close() 方法。 直接使用 open() 需要手动调用 close() 来关闭文件。如果忘记关闭或代码抛出异常,可能会造成资源泄露。 我们可以看一下用与不用的区别 关于文件读写操作 MicroPython 中的文件操作与标准 Python 类似,但功能相对简化。 需要注意的限制: 内存限制:避免一次性读取过大的文件 文件系统:某些开发板可能只支持有限的文件系统功能 路径操作:建议使用简单的相对路径 以下是主要的文件操作方法: 打开文件 推荐使用 with 语句 文件系统操作(补充,在Micropython中不一定完全兼容) 实验串口返回情况 ![]() 实验场景图 ![]() |
沪公网安备31011502402448© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed