我正在使用以下Python代码来存储从加速度计MMA7361L收到的数据。文件已创建,但没有写入任何数据?
我需要将数据存储到文件中以防止数据丢失。数据由Arduino发送,作为我的微控制器,连接我的加速度计。
import serial
port = serial.Serial('COM4', 9600)
for i in range(0, 10):
abc=open('abc.txt', 'r+b') //append and binary(a+b) mode
x = port.read(size=1)// 1 byte
print x
abc.write(x)
abc.close()
port.close()
答案 0 :(得分:3)
import serial
addr = 'COM4'
baud = 9600
fname = 'accel.dat'
fmode = 'ab'
reps = 10
with serial.Serial(addr,baud) as port, open(fname,fmode) as outf:
for i in range(reps):
x = port.read(size=1)
print x
outf.write(x)
outf.flush()
答案 1 :(得分:1)
将文件模式更改为“ab”,它应该可以正常工作。 a + b仅在您在向其追加数据时阅读内容时才有用。
除非你需要在这里进行严格的优化,否则在开头读取整个文件会更容易,然后只需将数据附加到它,然后使用'ab'模式重新打开它。
答案 2 :(得分:0)