2013-03-05 73 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)