我正在使用ceilometer python API并将数据发布到pubnub。不知道这个错误是什么意思。
我认为这是导致问题的代码部分
def init_Data(data, channel):
cpu_sample = cclient.samples.list(meter_name ='cpu_util')
for each in cpu_sample:
timetamp = each.timestamp
volume = each.counter_volume
volume_int = int(volume)
data_volume ={'value': volume_int}
data=json.dumps(data_volume)
print (data)
pubnub.publish(channel='orbit_channel', callback= init_Datar)
如此可怕的错误信息!混淆的一点是,
self
也算作参数,即使它没有显式地提供。所以你需要提供两个参数。你做到了!但是您需要提供2必需的参数,而您只提供了1个必需的和1可选的参数。检查API文档中的
pubnub.publish()
以查看缺少的内容。虽然丹尼尔给出了一个很好的解释,但我想要一个极简主义的例子,并且能够得出这样的结论:
所以提供了两个参数(
self
和arg2
),但这意味着至少需要2个位置参数(self
和arg1
)。所以Foo(arg1=1)
可以工作,就像Foo(1, 2)
和Foo(1, arg2=2)
一样。相关问题 更多 >
编程相关推荐