我是编程新手,我在网页上搜索了这个问题的答案,并尝试了很多可能性,但没有成功。我目前已成功将电位计连接到我的树莓派并在控制台上获取值,但我不知道如何将这些值保存到文本文件中。这是我的代码:
#!/usr/bin/python
import spidev
import time
#Define Variables
delay = 0.5
ldr_channel = 0
#Create SPI
spi = spidev.SpiDev()
spi.open(0, 0)
def readadc(adcnum):
# read SPI data from the MCP3008, 8 channels in total
if adcnum > 7 or adcnum < 0:
return -1
r = spi.xfer2([1, 8 + adcnum << 4, 0])
data = ((r[1] & 3) << 8) + r[2]
return data
while True:
ldr_value = readadc(ldr_channel)
print ('---------------------------------------')
print("LDR Value: %d" % ldr_value)
time.sleep(delay)
file = open('data.txt','w')
file.write("LDR Value: %d" % ldr_value)
file.close()`
正如您从代码中看到的,我可以将最后一个值放入 data.text,但不能及时获取所有值。预先非常感谢您,我为我的“好意”感到抱歉
当您在终端中执行文件时,您可以将此脚本的输出重定向到如下文件:
$ python script.py > /the/path/to/your/file
在Python中你只需要设置sys.stdout
到一个文件,然后所有打印将被重定向到/the/path/to/your/file
.
import sys
sys.stdout = open('/the/path/to/your/file', 'w')
并且不要忘记在脚本末尾关闭文件;)
sys.stdout.close()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)