2013-03-05 57 views
0

我想在Python中編寫一個簡單的網絡服務器,不幸的是我正在陷入讓函數工作的簡單障礙!在Python中的函數聲明的語法錯誤

import os, socket 

class serv: 
    def __init__(self): 
     self.host 
     self.port = 'localhost', 58008 
     self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
     self.socket.bind((self.host, self.port) 

    def send(self, msg): 
     self.conn.send(msg + end) 

    def run(self): 
     self.socket.listen(1) 
     self.conn 
     self.addr = self.socket.accept() 
     send(self, msg="Hello, world") 

S = serv() 
S.run() 

此代碼提供了有關函數調用發送以下錯誤:

File "server.py", line 10 
def send(self, msg): 
^
SyntaxError: invalid syntax 

如果有幫助(我敢肯定它不會),我在樹莓派使用這樣Adafruit WebIDE。

+0

如有疑問:檢查錯誤前面的行。賠率是你缺少括號或括號。 – 2013-03-05 22:04:25

回答

8

您已經忘記了此行中的右括號。

但是,在解析階段結束後您還會遇到其他的錯誤。例如,您引用了未定義的名稱(它會給您NameError s):self.hostself.conn

+0

就是這樣!感謝您指出其他一些位,我剛剛修復了這些。 – 2013-03-05 22:11:55

0

所有關於括號。在下一行中是不夠的:

self.socket.bind((self.host, self.port)