我使用的是Python腳本的三個文件的內容傳輸到不同的三個文件。原始文件是來自我連接到運行raspian的RPI的三個溫度計的數據。所有腳本應該做的就是獲取文件的內容並移動它們,以便我可以讓另一個程序(ComScript)讀取並解析它們。Python的失敗文件處理凍結
我的問題是,如果一個或多個溫度計的腳本開始前被斷開,它凍結。如果腳本運行時斷開溫度計,它不會凍結。
下面是代碼
import time
a = 1
while a == 1:
try:
tfile = open("/sys/bus/w1/devices/28-000004d2ca5e/w1_slave")
text = tfile.read()
tfile.close()
temperature = text
tfile2 = open("/sys/bus/w1/devices/28-000004d2fb20/w1_slave")
text2 = tfile2.read()
tfile2.close()
temperature2 = text2
tfile3 = open("/sys/bus/w1/devices/28-000004d30568/w1_slave")
text3 = tfile3.read()
tfile3.close()
temperature3 = text3
textfile = open("/home/pi/ComScriptPi/profiles/Temperature_parse/w1_slave1", "w ")
textfile2 = open("/home/pi/ComScriptPi/profiles/Temperature_parse/w1_slave2", "w ")
textfile3 = open("/home/pi/ComScriptPi/profiles/Temperature_parse/w1_slave3", "w ")
temperature = str(temperature)
temperature2 = str(temperature2)
temperature3 = str(temperature3)
textfile.write(temperature)
textfile2.write(temperature2)
textfile3.write(temperature3)
textfile.close()
textfile2.close()
textfile3.close()
print temperature
print temperature2
print temperature3
time.sleep(3)
except:
pass
我加入了異常傳遞,因爲我需要它來維持運行,即使它得到壞值。當其中一個溫度計斷開時,python試圖讀取的文件是空白的,但仍然存在。
你是否期待'a'在某個點上不等於1? – roippi