分類  >  WEB開發 >

下部這段python代碼,是client端給server發文件的,data是client接受server的指令,想改一下,一直報錯

tags:    時間:2014-05-04 12:03:11
下面這段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簡明教程吧搜索。

推薦閱讀文章

Bookmark the permalink ,來源:互聯網