Я пытаюсь использовать цикл for следующим образом:
addresses = [0x30, 0x31, 0x32, 0x33]
for address in addresses:
print(address)
chirp = chirp.Chirp(address=address,
read_moist=True,
read_temp=True,
read_light=True,
min_moist=False,
max_moist=False,
temp_scale='farenheit',
temp_offset=0)
chirp.trigger()
log_values(address, chirp.moist, chirp.temp, chirp.light)
time.sleep(1)
Кажется, что работает на первом проходе в консоли, я вижу 48, затем 49, затем получаю эту ошибку:
Traceback (most recent call last):
File "readings_logger.py", line 17, in <module>
chirp = chirp.Chirp(address=address,
AttributeError: 'Chirp' object has no attribute 'Chirp'
Который, я думаю, указывает, что он работал один раз. Тогда на втором проходе он не смог его запустить. Моя первая мысль была локальной проблемой, поэтому попытался удалить "chirp" нижний регистр "c", но это не помогло. Я предполагаю, что это поток, но я новичок в python и не знаю, как это предотвратить.
Вы переназначаете chirp, когда вы устанавливаете его равным chirp.Chirp(...)
.
Попробуйте изменить назначение переменной (после print(address)
на что-то вроде loop_chirp = chirp.Chirp(...)
. Каждая последующая строка теперь будет заменена на loop_chirp
за которой следует атрибут.