python - 我应该如何在 python2.7 中打印我的输出结果
问题描述
我在数组中存储了一些数据,如温度、湿度和强度,这是我的 arduino 输出和我的 python2.7 的输入,我正在根据这些数据绘制图表。我也想将 arduino 输出存储到文本文件中,但我无法做到这一点,因为我是 python 新手。
这是我的python代码
import serial
import numpy as np
import matplotlib.pyplot as plt
from drawnow import *
l=[]
t = []
h = []
arduinoData = serial.Serial('com3',115200)
plt.ion()
count=0
def makeFig():
ax1 = plt.subplot(211)
plt.ylim(0,100)
plt.title('Temperature and Humidity')
plt.grid(True)
plt.ylabel('temp in C')
plt.plot(t, 'ro-', label='Drgrees Celsius')
plt.legend(loc='upper left')
plt2=plt.twinx()
plt.ylim(0,100)
plt2.plot(h,'b^-',label='Humidity in %')
plt2.legend(loc='upper right')
ax2 = plt.subplot(212, sharex=ax1)
plt.ylim(0,100)
plt.grid(True)
plt.ylabel('Intensity in Lux')
plt.plot(l, 'ro-', label='Lux')
plt.legend(loc='upper left')
while True:
while (arduinoData.inWaiting()==0):
pass
arduinoString = arduinoData.readline()
dataArray = arduinoString.split(',')
lux = float (dataArray[0] )
humd = float ( dataArray[1])
temp = float ( dataArray[2])
t.append(temp)
h.append(humd)
l.append(lux)
drawnow(makeFig)
plt.pause(.000001)
count=count+1
if(count>60):
t.pop(0)
h.pop(0)
l.pop(0)
我想将 t , h , l 存储在文本文件中作为输出 帮助将不胜感激......
解决方案
只需使用以下命令打开文件:
f = open('file.txt', 'w')
然后您可以使用以下命令写入它:
f.write("Value of t : {}".format(t))
最后关闭文件
f.close()
推荐阅读
- kubernetes - Kunernetes/kustomize 服务端点异常行为
- ios - 无法以编程方式移动 UILabel 位置
- sql - 将表与中间映射表匹配(具有相似字符串的模糊连接)
- c# - 文本框中的空格分隔符
- python - Beautifulsoup 只产生结果
- docker - Docker:打开 tcp 套接字失败
- java - 加入Hibernate是否需要明确指出关联部分?
- c# - 来自 Azure Function 应用的可靠/幂等邮件
- drupal-8 - Drupal 8用户注册rest api逐步创建
- reactjs - 如何设置 Visual Studio Code(VSC) 或 Sublime Text3 来运行 ReactJS