已解决python报错invalid syntax

已解决python报错invalid syntax-LMLPHP

报错问题

之前在工作中遇到过这个坑,记录一下问题以及解决方法,不一定针对所有情况都能用,但是可以供大家参考。
问题描述如下:

在写代码的过程中,有些小细节错误容易导致invalid syntax报错

已解决python报错invalid syntax-LMLPHP

解决方法

解决方法如下

已解决python报错invalid syntax-LMLPHP

  1. 符号使用不正确
    例如:只写了半个括号,使用了中文符号等
    像下面的代码中,76行少了一个右括号。
 67         ……
 68         else:
 69             header = "HTTP/1.1 200 OK\r\n"
 70             header += "\r\n"
 71 
 72             body = "hahahaha"
 73 
 74             response = header + body
 75 
 76             new_socket.send(response.encode("utf-8")
 77 
 78         new_socket.close()
 79 
 80     def run_forever(self):
 81         while True:
 82             new_socket, client_addr = self.tcp_server_socket.accept()
 83             
 84             p = multiprocessing.Process(target=self.service_client, args=(new_socket,))
 85             p.start()
 86             
 87             new_socket.close()
 88             ……


运行代码,则会报错:

 File "w01.py", line 78
    new_socket.close()
             ^
SyntaxError: invalid syntax


其实,78行并没有错误,这时我们就在78行附近寻找,看是否有成对的符号(如括号)未成对使用的情况。在76行补全右括号后,代码运行正常。
有些解释器会有自动补全符号的功能。有些则没有,这时对于新手朋友要特别注意,在写成对的符号时(例如括号、引号等)一定要一次把一对符号写完,再在符号中填写内容,避免因这种情况出现bug,后续检查花费大量时间。

  1. 代码缩进问题
    python是一种严格依赖缩进的语言,如果缩进不正确或缩进格式不统一,一般错误信息会明确告诉你,但有时也会出现invalid syntax报错。
    所谓缩进不正确,python的缩进是四个空格或一个TAB,如果缩进三个空格,一定报错
    所谓缩进格式,即不能空格和TAB混用。如果不清楚是否存在混用,可以使用sublime统一调整即可。

福利

每周会送6本技术书籍包邮到家
由于博主时间精力有限,每天私信人数太多,没办法每个粉丝都及时回复
大家可以进社区裙或者添加博主微信
点击下方链接即可
http://t.csdn.cn/6kInJ

04-04 07:44