uos
— 基本系统操作模块¶
该模块实现了相应CPython模块的子集,具体功能如下所述。更多信息请参阅原始CPython文档:os。
uos模块包含用于文件系统访问和挂载,终端重定向和复制以及uname和urandom等函数。
使用示例¶
函数接口¶
提供操作系统相关的功能函数 和 文件操作功能函数
-
uos.
uname
()[源代码]¶ 返回一个元组(可能是一个命名了的元组),其中包含有关底层机器和/或其操作系统的信息。
元组按以下顺序有五个字段,每个字段都是一个字符串:
sysname – 底层系统的名称
nodename – 节点名(/板子名称)(可以与sysname相同)
release – 底层系统的版本
version – MicroPython版本和构建日期
machine – 底层硬件的标识符(例如,板卡信息,CPU信息)
- 引发
OSError – ENOENT
-
uos.
urandom
(n)[源代码]¶ 返回一个字节(bytes)对象,该对象包含n个字节。使用该函数的时候建议n为4的整数倍,这样生成的字节组合起来就是一个32bit随机数,否则生成的随机数会被截取。
- 参数
n(int) – 待生成的随机字节的数目
- 引发
OSError – ENOENT
-
uos.
ilistdir
(dir)[源代码]¶ 该函数返回一个迭代器,该迭代器将生成与它所列出目录中的条目相对应的3元组。无参数情况下,列出当前目录,否则列出由 dir 指定的目录。
3元组的形式包括 (名称、类型、索引节点) :
name 为一个字符串(若dir为一个字节对象,则名称为字节)且为条目的名称;
type 为一个指定条目类型的整数,其中目录为0x4000,常规文件为0x8000;
inode 为一个与文件的索引节点相对应的整数,而对于没有这种概念的文件系统来说,可能为0。
- 参数
dir(str) – 待列出待切换的目的路径
- 引发
OSError – ENOENT
-
uos.
statvfs
(path)[源代码]¶ 获取文件系统的状态。按照以下顺序返回一个具有文件系统信息的元组:
f_bsize – 文件系统块大小
f_frsize – 碎片大小
f_blocks – f_frsize单元中fs的大小
f_bfree – 空闲块的数量
f_bavail – 非特权用户的免费块数
f_files – 索引节点的数量
f_ffree – 空闲索引节点的数量
f_favail – 非特权用户的免费空闲索引节点的数量
f_flag – 挂载标志
f_namemax – 最大文件名长度
受 aos3.3 系统能力所限,目前 f_frsize f_flags 参数返回0。
-
uos.
open
(path, mode)[源代码]¶ 打开文件,具体使用方式参考Linux C下的fopen函数。
- 参数
path(str) – 待打开的文件路径及文件名;
mode(str) – 待打开的文件长度操作形态;
- 返回
若文件打开成功,返回值为文件流指针。若文件打开失败, 则返回Null。
- 引发
OSError – ENOENT
-
uos.
read
(buf, size, nmemb, stream)[源代码]¶ 从文件流读取数据,具体使用方式参考Linux C下的fread函数。
- 参数
buf(bytearray) – 数据空间,用来存放读取进来的数据;
size(int) – 待读取的每个数据项占据的字节数;
nmemb(int) – 待读取的数据项数目,读取的总字符数以参数size*nmemb来决定;
stream(nil) – 通过open函数获取到的已打开的文件指针;
- 返回
实际读取到的总字符数目。
- 引发
OSError – EINVAL
-
uos.
write
(buf, size, nmemb, stream)[源代码]¶ 从文件流写入数据,具体使用方式参考Linux C下的fwrite函数。
- 参数
buf(bytearray) – 数据空间,用来存放待写入的数据;
size(int) – 待写入的每个数据项占据的字节数;
nmemb(int) – 待写入的数据项数目,写入的总字符数以参数size*nmemb来决定;
stream(nil) – 通过open函数获取到的已打开的文件指针;
- 返回
实际写入到的总字符数目。
- 引发
OSError – EINVAL
-
uos.
close
(stream)[源代码]¶ 关闭文件,具体使用方式参考Linux C下的fclose函数。
- 参数
stream(nil) – 通过open函数获取到的已打开的文件指针;
- 返回
0: 成功,其他: 失败
- 引发
OSError – EINVAL
-
uos.
seek
(buf, size, nmemb, stream)[源代码]¶ 移动文件流的读写位置,具体使用方式参考Linux C下的fseek函数。
- 参数
stream(nil) – 通过open函数获取到的已打开的文件指针;
offset(int) – 相对 whence 的偏移量,以字节为单位;
whence(int) – 开始添加偏移 offset 的位置,它一般指定为: SEEK_SET, SEEK_CUR和SEEK_END;
- 返回
0: 成功,其他: 失败
- 引发
OSError – EINVAL
-
uos.
tell
(stream)[源代码]¶ 获取给定流stream的当前文件位置,具体使用方式参考Linux C下的ftell函数。
- 参数
stream(nil) – 通过open函数获取到的已打开的文件指针;
- 返回
若获取成功则返回位置标识符的当前值;若获取失败则返回-1L。
- 引发
OSError – EINVAL
-
uos.
rewind
(stream)[源代码]¶ 设置文件位置为给定流stream的文件的开头,具体使用方式参考Linux C下的rewind函数。
- 参数
stream(nil) – 通过open函数获取到的已打开的文件指针;
- 返回
空
- 引发
OSError – EINVAL