board — 设备文件操作
MicroPython 设备文件系统的查询、读写、下载、重命名与删除操作。
self.board 提供设备(开发板)文件系统的操作能力。设备需通过串口或 WebREPL 连接,相关操作作用于设备上的文件系统(如 MicroPython 设备根文件系统)。
self.board 的读取类操作需要 board.read 权限,写入类操作需要 board.write 权限。请在插件清单中声明相应权限。
带 callback 的方法为异步请求;不带 callback 的方法为即发即弃(fire-and-forget),立即返回。
目录与节点查询
| 方法 | 说明 |
|---|---|
get_dir_list(path, callback=None) | 获取设备目录下的文件列表 |
get_root_dir(callback=None) | 获取设备根目录路径 |
get_focus_file_node(callback=None) | 获取设备文件面板当前选中的文件节点 |
get_focus_folder_node(callback=None) | 获取设备文件面板当前选中的文件夹节点 |
get_dir_list(path, callback=None)
获取设备指定目录下的文件列表。
self.board.get_dir_list("/", lambda **cb: print(cb))参数:
path(str) — 目录路径
get_root_dir(callback=None)
获取设备根目录路径。
self.board.get_root_dir(lambda **cb: print(cb.get("path", "")))回调数据:{"path": "/"}
get_focus_file_node(callback=None)
获取设备文件面板中当前选中的文件节点。
self.board.get_focus_file_node(lambda **cb: print(cb))get_focus_folder_node(callback=None)
获取设备文件面板中当前选中的文件夹节点。
self.board.get_focus_folder_node(lambda **cb: print(cb))即发即弃操作
以下方法不接收回调,调用后立即返回:
| 方法 | 说明 |
|---|---|
open_file(path) | 在编辑器中打开设备文件 |
download_selected_board_item() | 下载选中的设备文件到本地 |
rename(path, new_name) | 重命名设备文件或文件夹 |
delete_file(path) | 删除设备文件 |
delete_folder(path) | 删除设备文件夹 |
open_file(path)
在编辑器中打开设备文件。
self.board.open_file("/main.py")参数:
path(str) — 设备文件路径
download_selected_board_item()
下载设备文件面板中当前选中的文件到本地。
self.board.download_selected_board_item()rename(path, new_name)
重命名设备文件或文件夹。
self.board.rename("/old.py", "new.py")参数:
path(str) — 原路径new_name(str) — 新名称
delete_file(path)
删除设备文件。
self.board.delete_file("/old_file.py")参数:
path(str) — 文件路径
delete_folder(path)
删除设备文件夹。
self.board.delete_folder("/old_folder")参数:
path(str) — 文件夹路径
设备读写
| 方法 | 说明 |
|---|---|
is_file(path, callback=None) | 检查设备路径是否为文件 |
is_directory(path, callback=None) | 检查设备路径是否为目录 |
read_file(path, callback=None) | 读取设备文件内容 |
write_file(path, content, callback=None) | 写入设备文件内容 |
exists(path, callback=None) | 检查设备路径是否存在 |
is_file(path, callback=None)
检查设备路径是否为文件。
self.board.is_file("/main.py", lambda **cb: print(cb))参数:
path(str) — 路径
is_directory(path, callback=None)
检查设备路径是否为目录。
self.board.is_directory("/lib", lambda **cb: print(cb))参数:
path(str) — 路径
read_file(path, callback=None)
读取设备文件内容。
self.board.read_file(
"/main.py", lambda **cb: print(cb.get("content", ""))
)参数:
path(str) — 文件路径
回调数据:{"content": "文件内容"}
write_file(path, content, callback=None)
写入设备文件内容。
self.board.write_file("/main.py", "print('hello')")参数:
path(str) — 文件路径content(str) — 文件内容
exists(path, callback=None)
检查设备路径是否存在。
self.board.exists("/main.py", lambda **cb: print(cb))参数:
path(str) — 路径
路径映射与下载
| 方法 | 说明 |
|---|---|
get_corresponding_file_path(path, callback=None) | 获取设备文件对应的本地项目文件路径 |
download_file(board_path, local_path, callback=None) | 下载单个设备文件到本地 |
get_corresponding_file_path(path, callback=None)
获取设备文件对应的本地项目文件路径,用于建立本地与设备文件的对应关系。
self.board.get_corresponding_file_path(
"/main.py", lambda **cb: print(cb.get("path", ""))
)参数:
path(str) — 设备文件路径
download_file(board_path, local_path, callback=None)
将设备文件下载到本地指定路径。
self.board.download_file("/main.py", "/local/main.py")参数:
board_path(str) — 设备文件路径local_path(str) — 本地目标路径