0

原谅我的无知,我在 python 的头几天。

我有以下 python 客户端,它正在侦听来自 nodejs 服务器的事件。我正在使用这个库:https ://github.com/invisibleroads/socketIO-client

import RobotArm
import time
from socketIO_client import SocketIO, BaseNamespace    

def statusChanged(*args):
    print(args)

socketIO = SocketIO('192.168.0.3', 3333)
socketIO.on('statusChanged', statusChanged)
socketIO.wait(seconds=1)

input('Press ENTER to exit\n')

Nodejs正在发送:

socket.emit("statusChanged", { online: botOnline, battery: battery, charging: charging });

当我打印 args 它输出:

({u'battery': 50, u'charging': 0, u'online': u'1'},)

这显然被读取为一个元组,而不是一个字典,我需要它来解析 json。我读到'u's表示它正在将它作为unicode读取,我不知道为什么会有一个斜杠。

4

1 回答 1

1

您的函数statusChanged(*args)被定义为采用未指定数量的参数。该参数args是调用它时使用的所有参数的元组。

所以第一个实际参数(包含数据的字典)可以访问为args[0]

于 2013-05-12T16:47:47.427 回答