У меня есть функция для сбора температуры (значения из текстовых файлов), которая использует частично предопределенный путь. Однако иногда путь не существует, если датчик температуры не был загружен (отключен). Как установить условие или исключение, чтобы пропустить цикл, если путь недоступен?Python Raspberry pi - Если путь не существует, пропустите цикл
Я хотел использовать продолжение, но я понятия не имею, какое условие установить с ним.
def read_all():
base_dir = '/sys/bus/w1/devices/'
sensors=['28-000006dcc43f', '28-000006de2bd7', '28-000006dc7ea9', '28-000006dd9d1f','28-000006de2bd8']
for sensor in sensors:
device_folder = glob.glob(base_dir + sensor)[0]
device_file = device_folder + '/w1_slave'
def read_temp_raw():
catdata = subprocess.Popen(['cat',device_file], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out,err = catdata.communicate()
out_decode = out.decode('utf-8')
lines = out_decode.split('\n')
return lines
, вероятно, хотите 'continue' там, а не' break', так что остальные датчики по-прежнему обрабатываются – tom
Update для продолжения @tom. – luoluo
после добавления того, что вы предложили, он останавливается в цикле, когда отсутствует датчик, и сообщает IndexError: индекс индекса за пределами диапазона. – Miroslav