Я использую скрипт python для передачи содержимого трех файлов в разные три файла. Исходными файлами являются данные из трех термометров, которые я подключил к RPI, работающему с raspian. Весь сценарий должен делать, это взять содержимое файлов и переместить их, чтобы я мог читать и анализировать другую программу (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