uos 源代码

# -*- coding: UTF-8 -*-
"""

提供操作系统相关的功能函数 和 文件操作功能函数

=================================================================================================

"""

[文档]def uname(): """ 返回一个元组(可能是一个命名了的元组),其中包含有关底层机器和/或其操作系统的信息。 元组按以下顺序有五个字段,每个字段都是一个字符串: * sysname – 底层系统的名称 * nodename – 节点名(/板子名称)(可以与sysname相同) * release – 底层系统的版本 * version – MicroPython版本和构建日期 * machine – 底层硬件的标识符(例如,板卡信息,CPU信息) :raises OSError: ENOENT """ pass
[文档]def urandom(n): """ 返回一个字节(bytes)对象,该对象包含n个字节。使用该函数的时候建议n为4的整数倍,这样生成的字节组合起来就是一个32bit随机数,否则生成的随机数会被截取。 下面的示例示例展示了生成一个32bit的随机数: >>> a = binascii.hexlify(uos.urandom(4)) >>> a b'e9508139' >>> a[0:8] b'e9508139' 下面的示例示例展示了生成两个32bit的随机数,可以按字节数取出相应的随机数: >>> c = binascii.hexlify(uos.urandom(8)) >>> c b'57165237db2f9a4d' >>> c[0:8] b'57165237' >>> c[9:16] b'b2f9a4d' :param n(int): 待生成的随机字节的数目 :raises OSError: ENOENT """ pass
[文档]def chdir(path): """ 切换到 path 指定的目录。 :param path(str): 待切换的目的路径 :raises OSError: ENOENT """ pass
[文档]def getcwd(): """ 获取当前目录。 :param 空: :returns(str): 当前目录 :raises OSError: ENOENT """ pass
[文档]def ilistdir(dir): """ 该函数返回一个迭代器,该迭代器将生成与它所列出目录中的条目相对应的3元组。无参数情况下,列出当前目录,否则列出由 dir 指定的目录。 3元组的形式包括 (名称、类型、索引节点) : * name 为一个字符串(若dir为一个字节对象,则名称为字节)且为条目的名称; * type 为一个指定条目类型的整数,其中目录为0x4000,常规文件为0x8000; * inode 为一个与文件的索引节点相对应的整数,而对于没有这种概念的文件系统来说,可能为0。 :param dir(str): 待列出待切换的目的路径 :raises OSError: ENOENT """ pass
[文档]def listdir(dir): """ 若无参数,则列出当前目录;否则将列出给定目录。 """ pass
[文档]def mkdir(path): """ 创建一个指定path的新目录。 """ pass
[文档]def remove(path): """ 删除一个指定path的文件。 """ pass
[文档]def rmdir(path): """ 删除一个指定path的目录。 """ pass
[文档]def rename(old_path, new_path): """ 重命名文件。 """ pass
[文档]def stat(path): """ 获取文件或目录的状态。 """ pass
[文档]def 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。 """ pass
[文档]def sync(): """ 同步所有文件系统。 """ pass
""" ================================================================ """
[文档]def open(path, mode): """ 打开文件,具体使用方式参考Linux C下的fopen函数。 :param path(str): 待打开的文件路径及文件名; :param mode(str): 待打开的文件长度操作形态; :returns: 若文件打开成功,返回值为文件流指针。若文件打开失败, 则返回Null。 :raises OSError: ENOENT """ pass
[文档]def read(buf, size, nmemb, stream): """ 从文件流读取数据,具体使用方式参考Linux C下的fread函数。 :param buf(bytearray): 数据空间,用来存放读取进来的数据; :param size(int): 待读取的每个数据项占据的字节数; :param nmemb(int): 待读取的数据项数目,读取的总字符数以参数size*nmemb来决定; :param stream(nil): 通过open函数获取到的已打开的文件指针; :returns: 实际读取到的总字符数目。 :raises OSError: EINVAL """ pass
[文档]def write(buf, size, nmemb, stream): """ 从文件流写入数据,具体使用方式参考Linux C下的fwrite函数。 :param buf(bytearray): 数据空间,用来存放待写入的数据; :param size(int): 待写入的每个数据项占据的字节数; :param nmemb(int): 待写入的数据项数目,写入的总字符数以参数size*nmemb来决定; :param stream(nil): 通过open函数获取到的已打开的文件指针; :returns: 实际写入到的总字符数目。 :raises OSError: EINVAL """ pass
[文档]def close(stream): """ 关闭文件,具体使用方式参考Linux C下的fclose函数。 :param stream(nil): 通过open函数获取到的已打开的文件指针; :returns: 0: 成功,其他: 失败 :raises OSError: EINVAL """ pass
[文档]def seek(buf, size, nmemb, stream): """ 移动文件流的读写位置,具体使用方式参考Linux C下的fseek函数。 :param stream(nil): 通过open函数获取到的已打开的文件指针; :param offset(int): 相对 whence 的偏移量,以字节为单位; :param whence(int): 开始添加偏移 offset 的位置,它一般指定为: SEEK_SET, SEEK_CUR和SEEK_END; :returns: 0: 成功,其他: 失败 :raises OSError: EINVAL """ pass
[文档]def tell(stream): """ 获取给定流stream的当前文件位置,具体使用方式参考Linux C下的ftell函数。 :param stream(nil): 通过open函数获取到的已打开的文件指针; :returns: 若获取成功则返回位置标识符的当前值;若获取失败则返回-1L。 :raises OSError: EINVAL """ pass
[文档]def rewind(stream): """ 设置文件位置为给定流stream的文件的开头,具体使用方式参考Linux C下的rewind函数。 :param stream(nil): 通过open函数获取到的已打开的文件指针; :returns: 空 :raises OSError: EINVAL """ pass
[文档]def getpos(stream): """ 获取流 stream 的当前文件位置,具体使用方式参考Linux C下的fgetpos函数。 :param stream(nil): 通过open函数获取到的已打开的文件指针; :returns: 如果成功则返回当前文件位置,如果失败则返回-1。 :raises OSError: EINVAL """ pass
[文档]def setpos(stream, pos): """ 设置给定流 stream 的文件位置为给定的位置,具体使用方式参考Linux C下的fsetpos函数。 :param stream(nil): 通过open函数获取到的已打开的文件指针; :param pos(int): 需要设置的文件位置; :returns: 0: 成功,其他: 失败 :raises OSError: EINVAL """ pass