Python Строковые элементы в списке являются NoneType - PullRequest
1 голос
/ 10 февраля 2020

Я использую MQTT-сервер для получения полезной нагрузки JSON в байтах,

Client sent packet to server: {"cmd":"publish","topic":"/host-in","payload":"[\"C\",\"E\",\"G\",\"B\",\"D\",\"F#\",\"A\"]"}

, которая преобразует строку и анализирует ее. Что меня совершенно сбивает с толку, так это тот факт, что этот последний оператор всегда разрешается в Caught exception in on_message: must be str, not NoneType

import json


payload = json.loads(str(msg.payload.decode('utf-8')))
topic = msg.topic

for note in payload:
    print(note is None)
    print(note)

print("{}: {}".format(topic, payload))

chords.determine(payload)

Каждый из этих note is None операторов разрешается в ложь, но выводит строку.

False
C
False
G#
etc.

Я поместил каждую из этих заметок в str(...), и у меня все еще нет ни одного типа. Что происходит?

Используя эту библиотеку, chords.determine(['C', 'E', 'G']) разрешается нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...