百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

ESP32 / ESP8266 MicroPython教程:读取文件

off999 2024-09-27 13:53 43 浏览 0 评论

引言

本篇ESP32 / ESP8266 MicroPython教程主要说明如何从MicroPython的文件系统中读取一个文件。本教程在 esp32 和 esp8266 上进行了测试。

通常我会使用Putty与MicroPython命令行界面进行交互。但是为了演示,我在本篇教程中会使用Arduino Serial Monitor与设备进行交互。因为它也要与设备之间建立串行连接,所以这种交互方式其实与使用Putty没有什么不同。

打开Serial Monitor之后,只需选择正确的COM端口和波特率(115200)即可。请注意,我们还需要在波特率左边的下拉列表中选择回车或回车&换行选项,以使命令行界面知道命令终止。

您也可以使用Putty或其他您喜欢的其他软件与设备进行交互。

代码

首先,我们会在MicroPython文件系统中新建一个文件。有关如何新建文件的详细教程,请参考前面这一篇文章: ESP32 / ESP8266 MicroPython教程:写入文件 。我们会创建一个名为initialFile.txt的文件,并向文件中写入两行文本。然后,我们会关闭文件并列出当前文件夹下的所有文件,以确认其创建成功。

file = open ("initialFile.txt", "w")
file.write("First Line \n")
file.write("Second Line")
file.close()
import os
os.listdir()

代码运行之后,您将看到与图1类似的输出结果。



图1 - 将初始文件写入文件系统。

然后,我们仍然使用open(打开)函数将文件打开,该函数的第一个参数是文件名称,但是现在我们将第二个参数设置为字符串“r“,表示我们想要读取文件内容。

然后,只需调用file(文件)对象的read(读取)(https://docs.python.org/3/library/io.html#io.BufferedIOBase.read)方法,即可读取完整的文件内容。该方法可以接收一个输入参数,表示要从文件中读取的字节数。如果没有输入参数,那么它就会读取全部内容,直到文件结尾。

我们将在无参数条件下调用这个方法,所以测试结果将会返回完整的文件内容。在调用之后,您就会看到被打印出来的文件内容。注意换行符也会显式打印出来。

最后,调用close(关闭)方法,关闭文件。

file = open("initialFile.txt", "r")
file.read()
file.close()

我们可以使用readline方法(https://docs.python.org/3/library/io.html#io.TextIOBase.readline)(该方法会返回文件中的一行内容)代替read方法,然后重复上述测试。该方法会接收一个输入参数,以指定要从文件内一行内容中读取的最大字符数,一旦接收到指定数量的字符或者到达行尾,该方法就会停止执行。如果不指定任何参数,它就会读取一整行。因为文件中一共有两行文本,所以我们将调用它两次(都不指定参数)。

一旦到达文件末尾,该调用会返回一个空字符串(https://docs.python.org/3/library/io.html#io.TextIOBase.readline)。所以,如果我们无法提前知道行数,那么可以将此作为停止条件。最后,同样通过调用close(关闭)方法将文件关闭。

file = open("initialFile.txt", "r")
file.readline()
file.readline()
file.close()

两组命令的运行结果如下所示。



图2 - 两种不同方法的文件读取结果。

如图2所示,readline方法会将“\n”字符也打印出来。如果不想看到这个字符,可以在返回的字符串上调用rstrip方法(https://www.tutorialspoint.com/python/string_rstrip.htm),它的输入参数是一个字符串,内容是想要从右边删除的一组字符。如果没有找到这组字符,那么什么都不会发生。我们可以调用这个方法,并将“\n”字符作为参数传递给它。

file = open("initialFile.txt", "r")
file.readline().rstrip("\n")
file.readline().rstrip("\n")
file.close()

运行结果如图3所示,“\n“字符没有再显示出来。由于在原来的字符串中,“\n“前面加了一个空格,所以显示结果的第一行末尾也有一个空格。

os.remove("initialFile.txt")
os.listdir()



图3 - 删除字符串末尾的“\n”字符。

为了避免在文件系统中留下垃圾,我们将调用os模块的remove函数(输入参数为文件名)将文件删除。此时调用listdir函数,就不会再看到我们创建的文件了。

os.remove("initialFile.txt")
os.listdir()

图4所示是该命令的输出结果。如图所示,只有boot.py一个文件。请不要删除这个文件。



图4 - 从MicroPython文件系统中删除文件。

最后说明

最后,我会给您提供一个非常有用的方法,可以帮助您获取对象的可用方法和函数。这个办法其实很简单,只需将目标对象作为输入参数调用dir函数(https://docs.python.org/2/library/functions.html#dir)即可。

dir(os)
dir(file)
dir(str)

您会看到如图5所示的列表,其中包括了一些对象的可用方法。在您手头没有文档的情况下,这种方法非常有用。



图5 - 列出对象的可用方法。

相关推荐

戴尔官网官方网站(戴尔产品官网)

查询步骤如下:1.在戴尔电脑的后盖上找到服务编号,并记录下来。2.之后搜索戴尔官网,在打开的官网界面中点击上方的支持选项,并点击产品支持。3.在打开的产品支持界面中,输入电脑后盖上的服务编号。4.如果...

黑鲨u盘重装系统教程(黑鲨u盘重装系统步骤8)

U盘重装WIn10系统:1、用【u深度u盘启动盘制作工具】制作u盘启动盘,插入电脑usb接口,设置好开机启动项进入u深度主菜单界面,选择“【02】u深度win8pe标准版(新机器)”并回车,2、在u深...

电子邮件免费注册入口(电子邮件在线注册)

1.在网页上搜索maiI163邮箱登录,如果有邮箱账号密码的话就直接输入并点击“登录”,没有的话就点击“立即注册”。2.点击“立即注册”后进入页面,输入信息点击“注册”。3.注册成功后就直接搜索登录。...

win7如何快速启动(windows7如何快速启动)
win7如何快速启动(windows7如何快速启动)

打开操作系统运行:输入"cmd"并点击回车:系统命令提示符自动打开:使用方法直接运行start打开一个新的命令提示符窗口:运行start+文件的绝对存储路径打开对应的文件:运行start+文件夹路径打开对应...

2025-12-29 13:03 off999

怎么升级到win11(怎么升级到win11专业版)

Windows11可以在「开始菜单-设置-Windows更新」中进行手动更新。如果您想主动更新,需先确保您的电脑符合Windows11的最低系统要求。接着,打开「Windows更...

微信好友误删了怎么加回来(微信好友误删了怎么加回来免费)

看到他的评论的话,你可以去你发过的内容里去看看。<br/><br/>好友验证的消息、语音)或者朋友圈内容:<br/>如果你这个朋友喜欢和你在朋友圈聊天的话,你他的手机号也有的话方法添加里输入就可...

access安装包(access安装包怎么安装)
access安装包(access安装包怎么安装)

要下载并安装MicrosoftAccess,可以按照以下步骤进行操作:1.打开您的电脑的浏览器(如谷歌浏览器、火狐浏览器等)。2.在浏览器的搜索栏中输入"下载MicrosoftAccess"。3.从搜索结果中选择适...

2025-12-29 11:51 off999

云骑士装机大师官方网站(云骑士装机大师软件下载)

就是感觉正规吧,还有就是小白那种的比较多,专业店一忽悠就掏钱做系统了。懂装机的哪有花钱去装系统的不靠谱,因为会造成个人信息的泄露。云骑士装机大师是网络装机系统,在网络上能够实现一键装机,非常的简洁方便...

万能钥匙下载免费(安心上网万能钥匙下载免费)

行1.使用手机功能表中自带的浏览器上网,直接搜索需要的软件进行下载安装(下载安卓版本格式为apk)。2.使用电脑下载APK格式的安装包,连接数据线传输至手机,操作手机在应用程序-我的文件中找到安装包,...

500兆宽带用什么路由器(家用路由器什么牌子好 信号强)

1、飞鱼星千兆无线路由器家用2600M双频企业级高速穿墙500M光纤游戏加速VW1900/千兆双频/1900M/大型企业路由器无线500m推荐理由:可以提供企业级别的性能,空旷环境覆盖更广大,...

xp系统怎么卸载软件(xp怎么卸载程序)

1、选中此电脑,点击鼠标右键。2、选择属性点击一下。3、在打开的界面选择控制面板。4、点击程序选项下方的卸载。5、选择要卸载的程序软件,点击鼠标右键。6、点击弹出的选项卸载/更改。7、也可以使用电脑管...

笔记本电脑系统修复软件(笔记本电脑程序修复)

1、超级兔子2013系统修复软件超级兔子是一款完整的系统维护工具。拥有电脑系统评测、垃圾清理和注册表清理、可疑文件和插件检测、网页防护等功能,同时自带一些实用的系统工具,可清理你大多数的文件、注册表里...

联想保修服务包括哪些(联想保修都保修什么)

1、保修36个月的硬件包括:CPU、内存。2、保修24个月的硬件包括:主板、显卡、LCD屏、硬盘、电源适配器、键盘、鼠标模块。3、保修12个月的硬件包括:LCD之附件、光驱、DVD、CDR/W、软驱...

系统科学大会(中国系统科学学会)

2021年各种科学大会的召开时间取决于疫情的发展和国家政策的调整。一些大型的国际科学会议可能会推迟或者采用线上形式进行,以保障参会人员的安全和健康。同时,一些国内的学术会议也会受到疫情的影响,需要推迟...

win10系统下载的内容在哪(win10下载的软件在哪个文件夹)

进入C:\Windows\SoftwareDistribution\Download目录下,通过win10应用商店中下载的安装包都放在此目录下。进入C:\Windows\SoftwareDistrib...

取消回复欢迎 发表评论: