下部这段python代码,是client端给server发文件的,data是client接受server的指令,想改一下,一直报错
下面这段python代码,是client端给server发文件的,data是client接受server的指令,想改一下,一直报错?
def handler(data):
msg = data.split('&')
logClient = LogClient(host, port)
if len(msg) >= 2:
if msg[0] == 'heartbeat':
print "heartbeat received"
elif msg[0] == 'collect':
logTopic = msg[1]
logDate = msg[2]
dir = conf.get('LOGDIRS', logTopic)
print 'method: collect params: %s , %s' %(logTopic, path.join(dir, logDate+".log"))
logClient.sendLog(logTopic, path.join(dir, logDate+".log"))
如果我接受到的data是"collect&tonghuashun&20130412.log",
就把client里的这个日志发给server。
我想改成的是,我不接受server的发送过来的信号,只要一有文件就发送过去。
所以我改成这样就一直报语法错误,不知道为什么?:IndentationError: unexpected indent
def handler(data):
data='collect&tonghuashun&20130412.log'
msg = data.split('&')
logClient = LogClient(host, port)
if len(msg) >= 2:
if msg[0] == 'heartbeat':
print "heartbeat received"
elif msg[0] == 'collect':
logTopic = msg[1]
logDate = msg[2]
dir = conf.get('LOGDIRS', logTopic)
print 'method: collect params: %s , %s' %(logTopic, path.join(dir, logDate+".log"))
logClient.sendLog(logTopic, path.join(dir, logDate+".log"))
改成这样也报错,python语法我也不太清楚:
def handler(data):
logClient = LogClient(host, port)
logClient.sendLog('tonghuashun', path.join('/home/hadoop/tonghuashun/', '20140419.log'+".log"))
不知道为什么不支持字符串!
求会python的大虾指导一下工作啊。
------解决方案--------------------
python的语法,“缩进”是一种语法要求,“缩进”是用来标记一个程序段的。
需要统一缩进的字符数,习惯上是缩进4个字符。
具体参考一下在线的python简明教程吧搜索。
def handler(data):
msg = data.split('&')
logClient = LogClient(host, port)
if len(msg) >= 2:
if msg[0] == 'heartbeat':
print "heartbeat received"
elif msg[0] == 'collect':
logTopic = msg[1]
logDate = msg[2]
dir = conf.get('LOGDIRS', logTopic)
print 'method: collect params: %s , %s' %(logTopic, path.join(dir, logDate+".log"))
logClient.sendLog(logTopic, path.join(dir, logDate+".log"))
如果我接受到的data是"collect&tonghuashun&20130412.log",
就把client里的这个日志发给server。
我想改成的是,我不接受server的发送过来的信号,只要一有文件就发送过去。
所以我改成这样就一直报语法错误,不知道为什么?:IndentationError: unexpected indent
def handler(data):
data='collect&tonghuashun&20130412.log'
msg = data.split('&')
logClient = LogClient(host, port)
if len(msg) >= 2:
if msg[0] == 'heartbeat':
print "heartbeat received"
elif msg[0] == 'collect':
logTopic = msg[1]
logDate = msg[2]
dir = conf.get('LOGDIRS', logTopic)
print 'method: collect params: %s , %s' %(logTopic, path.join(dir, logDate+".log"))
logClient.sendLog(logTopic, path.join(dir, logDate+".log"))
改成这样也报错,python语法我也不太清楚:
def handler(data):
logClient = LogClient(host, port)
logClient.sendLog('tonghuashun', path.join('/home/hadoop/tonghuashun/', '20140419.log'+".log"))
不知道为什么不支持字符串!
求会python的大虾指导一下工作啊。
------解决方案--------------------
python的语法,“缩进”是一种语法要求,“缩进”是用来标记一个程序段的。
需要统一缩进的字符数,习惯上是缩进4个字符。
具体参考一下在线的python简明教程吧搜索。