繁体   English   中英

运行 python 空闲时 python 版本出现无效语法错误

[英]Invalid syntax error on python version while running python idle

我正在开发一个 tcp 客户端-服务器 python 套接字程序,我在其中编写了服务器代码以向客户端发送简单的消息。 但是,当我在 python 空闲时运行服务器端时,我得到无效的语法错误和 python 版本上的红色标记。 我不知道问题出在哪里,我会感谢您对这项特定任务的帮助。 发生错误的图像: 在此处输入图像描述

我按运行,然后运行模块,我得到: 在此处输入图像描述

我的代码:

服务器:

   import sys
   from socket import *
   serverSocket = socket(AF_INET,SOCK_STREAM)
   serverSocket.bind(('localhost',1234))
   serverSocket.listen()
   data = "Network labs"
   while 1 :
     connectionSocket ,addr = serverSocket.accept()
     connectionSocket.send(data)
     connectionSocket.close()

客户:

   import sys
   from socket import *
   clientSocket = socket(AF_INET,SOCK_STREAM)
   server_address=('localhost',1234)
   clientSocket.connect(server_address)
   sentence = clientSocket.recv(1024)
   print(sentence)
   clientSocket.close()

您尝试运行 shell session 的日志,其中包含非代码启动消息文本和非代码提示作为 python 代码。 但是 session 日志不是 python 代码。 “Python”可能是,但“Python 3”不是有效代码,因此 python 报告 SyntaxError。 这与从 IDLE 编辑器运行代码无关。 如果您从命令行或任何其他支持 python 的编辑器或 IDE 运行 server.py,您会看到相同的结果。

要运行 server.py,您必须删除非代码部分——启动消息和提示。 通常,您还必须删除 output,但您的示例中没有。 所以你应该最终得到

import sys
from socked import *
...

换句话说,您在问题中列出的清理后的服务器代码,不是您在屏幕截图中运行以获取错误消息的代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM