3

テキストファイルの内容を読み取る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)
4

1 に答える 1

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、テキスト ファイルの内容全体が含まれていることを保証します。これは実際には望ましくない場合があります。ファイルに空白や改行などの空白が含まれif ... elseいる場合、テストは意図したとおりに動作しません。あなたはそれを修正することができます

line = line.strip() 

line = fh.read()

この.stripメソッドは、先頭または末尾の空白を取り除きます。引数を渡して、何を削除するかを伝えることもできます。詳細については、ドキュメントを参照してください。

于 2016-01-16T10:59:43.287 に答える