一个用于操作BBC micro:bit上的简单文件系统的模块和实用工具
项目描述
MicroFS
MicroPython在BBC micro:bit上提供的有限文件系统的一个简单命令行工具和模块。
安装
要安装,只需键入
$ pip install microfs
…然后包将从PyPI下载。如果您想升级到最新版本,请使用以下命令
$ pip install --no-cache --upgrade microfs
使用方法
使用microfs有两种方式 - 作为Python代码中的模块或作为从您的shell(ufs)使用的独立命令。
在代码中
在您的Python脚本中导入所需的函数,如下所示
from microfs import ls, rm, put, get, get_serial
阅读下面的API文档以了解每个函数的工作方式。
命令行
从命令行(但不是Python shell)使用“ufs”(“u” = micro)命令。
读取内置帮助
$ ufs --help
列出设备上的文件
$ ufs ls
您还可以指定一个分隔符来分隔输出上显示的文件名(默认为空白字符' ')
# use ';' as a delimiter $ ufs ls ';'
在设备上删除文件
$ ufs rm foo.txt
将文件复制到设备上
$ ufs put path/to/local.txt
从设备获取文件
$ ufs get remote.txt
“put”和“get”命令可以可选地接受另一个参数来指定目标文件的名称
$ ufs put /path/to/local.txt remote.txt $ ufs get remote.txt local.txt
开发
源代码托管在GitHub上。请随意fork仓库。假设您已安装Git,可以使用以下命令从标准仓库下载代码:
$ git clone https://github.com/ntoll/microfs.git
请通过创建虚拟环境和运行以下命令确保您已安装正确的开发依赖项:
$ pip install -r requirements.txt
要将您的开发版本模块本地安装到虚拟环境中,请运行以下命令:
$ python setup.py develop
存在一个Makefile,它可以帮助处理与开发相关的多数常见工作流程。单独输入“make”将列出选项,如下所示:
$make There is no default Makefile target right now. Try: make clean - reset the project and remove auto-generated assets. make pyflakes - run the PyFlakes code checker. make pep8 - run the PEP8 style checker. make test - run the test suite. make coverage - view a report on test coverage. make check - run all the checkers and tests. make package - create a deployable package for the project. make publish - publish the project to PyPI. make docs - run sphinx to create project documentation.
发布历史
1.4.5
脚本使用的PySerial更新版本。
出错时的非零退出码。
作为__main__执行。
Black格式化更新。
感谢@carlosperate提供这些更新。
1.4.4
新功能。感谢@makinteract,现在可以添加一个可选的分隔符用于ls命令。有关更多详细信息,请参阅PR #28。
1.4.3
修复了问题#22中的错误。再次感谢alexandros769。
1.4.2
更新从micro:bit设备获取数据的获取方法,以处理设备文件中的控制字符。感谢Damien George修复此问题,并感谢GitHub用户alexandros769报告此问题。
1.4.1
将PySerial版本限制为与microfs一起使用时已知可以工作的版本。
1.4.0
更新并更改了get功能,使其能够在更广泛的受支持板上工作。衷心感谢Carlos Pereira Atencio为此付出的努力。
1.3.1
修复了版本解析中的错误,该错误破坏了machine属性。
1.3.0
添加了一个新函数(通过命令行不可用)来获取设备上MicroPython的版本。
API更改 find_microbit函数现在返回一个元组,位置0为端口,位置1为连接设备的串行号。
1.2.3
Carlos Pereira Atencio进行了广泛的调试和修复,以确保以稳健的方式打开、关闭串行连接并准备与microfs相关的命令。
1.2.2
get和put命令可以进一步可选参数指定目标文件名。
1.2.1
将隐式字符串连接显式化。
1.2.0
API更改 命令函数中传递的串行对象是可选的。
API更改 命令函数的调用签名更改。
1.1.2
允许外部模块使用内置的设备检测和连接。
1.1.1
将unlink命令逻辑从设备检测和串行连接中分离。
1.1.0
修复了与任意文件大小一起工作的“put”和“get”命令。
修复了处理二进制数据时的错误。
更新执行函数以处理多个命令的列表。
对提取原始模式相关代码进行了微小的重构。
更新测试以在Python 2和Python 3上保持100%的覆盖率。
1.0.2
删除了多余的print调用。
1.0.1
修复了损坏的设置。
1.0.0
完全实现了所有预期的功能。
100%测试覆盖率。
全面的文档。
0.0.1
初始发布。基本功能。