1. 向txt文件写入字符串
# MindPlus
# mpython
import os
path="test\\c.txt" #define file path
xxx = open(path,"a")
print(type(xxx))
xxx.write('ccc\n')
#file_mic.write("\n")
#print(file_mic.read())
print('write ok')
xxx.close()
需要加载os访问文件。
需要注意的是open的第二个入参"a"为追加,如果想清空写入则为"w"
type(xxx)是显示open后的类型,所以open函数返回的类型问TextIOWrapper。
PS:需要注意的是,相对于读取而言,读取时直接打在控制台上的(实时),但是写入是写到txt文件中。
我们运行完成后直接点击txt查看,会发现没有任何数据,其实设备内部的数据是有的,只不过我们再mind+上的文件系统没有及时更新,我尝试点击刷新,此时会发现运行了多次。
2.读取声音数值
# MindPlus
# mpython
from mpython import *
import os
a=0
path="test\\b.txt"
xxx=open(path,"w")
while True:
print(a)
oled.fill(0) # clear display
y=sound.read() # get voice level
oled.DispChar(oct(y), 33, 33, 1) #set value
#oled.DispChar('aaa', 33, 33, 1)
oled.show() # lcd display
print("y",y) # cmd display
xxx.write(oct(y)) # write to txt
xxx.write("\n") # next line
a = a + 1
if a == 10:
xxx.close()
print('close file')
break
结果显示
sound.read()是用于读取声音的函数。
下图是声音传感器的电路图。
需要注意的是sound.read()读取的数值是int型,我们无论是用于显示和写入文件都是字符型。
我这里使用的是oct(y),显示的是十进制的数值。
可以自己写函数将十进制转换为字符串,这个下次再改进。
然后查看生成的文件,数据确实以0oXXX存储到了txt文件中。