python 读取文件以打开 LED
python read file to turn on LED
我正在尝试获取一个 python 脚本来读取文本文件的内容,如果它是 21,则打开 LED,如果是 20,则将其关闭。该脚本还会在屏幕上打印出文本文件的内容。
打印出来的内容一切正常,但是LED不亮
import wiringpi2
import time
wiringpi2.wiringPiSetupGpio()
wiringpi2.pinMode(17,1)
while 1:
fh=open("test1.txt","r")
print fh.read()
line = fh.read()
fh.close()
if line == "21":
wiringpi2.digitalWrite(17,1)
elif line == "20":
wiringpi2.digitalWrite(17,0)
time.sleep(2)
print fh.read()
读取文件的全部内容,将文件光标留在文件末尾,所以当您执行
line = fh.read()
没有什么可读的了。
改变这个:
fh=open("test1.txt","r")
print fh.read()
line = fh.read()
fh.close()
对此:
fh=open("test1.txt","r")
line = fh.read()
print line
fh.close()
我无法测试此代码,因为我没有 Raspberry Pi,但该代码将确保 line
包含文本文件的全部内容。这实际上可能并不理想:如果文件包含 any 空格,例如空格或换行符,那么您的 if ... else
测试将不会像您想要的那样运行。你可以通过
来解决这个问题
line = line.strip()
在line = fh.read()
之后
.strip
方法去除任何前导或尾随空格。您还可以向它传递一个参数来告诉它要剥离的内容,有关详细信息,请参阅 the docs。
我正在尝试获取一个 python 脚本来读取文本文件的内容,如果它是 21,则打开 LED,如果是 20,则将其关闭。该脚本还会在屏幕上打印出文本文件的内容。
打印出来的内容一切正常,但是LED不亮
import wiringpi2
import time
wiringpi2.wiringPiSetupGpio()
wiringpi2.pinMode(17,1)
while 1:
fh=open("test1.txt","r")
print fh.read()
line = fh.read()
fh.close()
if line == "21":
wiringpi2.digitalWrite(17,1)
elif line == "20":
wiringpi2.digitalWrite(17,0)
time.sleep(2)
print fh.read()
读取文件的全部内容,将文件光标留在文件末尾,所以当您执行
line = fh.read()
没有什么可读的了。
改变这个:
fh=open("test1.txt","r")
print fh.read()
line = fh.read()
fh.close()
对此:
fh=open("test1.txt","r")
line = fh.read()
print line
fh.close()
我无法测试此代码,因为我没有 Raspberry Pi,但该代码将确保 line
包含文本文件的全部内容。这实际上可能并不理想:如果文件包含 any 空格,例如空格或换行符,那么您的 if ... else
测试将不会像您想要的那样运行。你可以通过
line = line.strip()
在line = fh.read()
.strip
方法去除任何前导或尾随空格。您还可以向它传递一个参数来告诉它要剥离的内容,有关详细信息,请参阅 the docs。