В предисловии я очень плохо знаком с python (около 7 дней), но я опытный софтверный инженер.
Я хотел бы отправить данные между машинами, на которых запущены скрипты Python. У меня была идея (для упрощения вещей) заключаться в том, чтобы объединить данные (строки и целые числа) в строку и выполнить синтаксический анализ на стороне клиента.
UDP-пакеты прекрасно отправляются с простыми строками, но когда я пытаюсь отправить полезные данные, python всегда жалуется на данные, которые я отправляю; в частности, python не позволяет мне объединять кортежи.
- Чтобы разобрать данные на клиенте, мне нужно отделить данные символом тире: '-'.
nodeList - это словарь типов, где ключ является строкой, а значение - двойным.
randKey = random.choice( nodeList.keys() )
data = str(randKey) +'-'+ str(nodeList[randKey])
mySocket.sendto ( data , address )
Приведенный выше код вызывает следующую ошибку:
TypeError: приведение к Unicode: нужна строка или буфер, найден кортеж
Я не понимаю, почему он считает, что это кортеж, который я пытаюсь объединить ...
Итак, мой вопрос: как я могу исправить это, чтобы Python был доволен, или кто-то может предложить мне лучший способ отправки данных?
Заранее спасибо.