社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

python cmd2中断打印promp

Doritos • 5 年前 • 1463 次点击  

我正在使用CMD2创建服务器。我已经把代码分解到了仍然会产生问题的最小代码位。

import socket
import _thread
from cmd2 import *

def grab_data(conn):
    while True:
        try:
            data = conn.recv(1024)
            print(data)
        except:
            print("disconnected.")
            break

def grab_client(sock):
    while True:
        conn, addr = sock.accept()
        print("New connection")
        _thread.start_new_thread(grab_data, (conn,))


def start_conn(ip, port):
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.bind((ip, int(port)))
    sock.listen(10)
    print("Socket listening")
    _thread.start_new_thread(grab_client, (sock,))


class CLI(Cmd):
    def __init__(self):
        Cmd.__init__(self)
        self.prompt = "Prompt> "

    def do_listen(self, arg):
        start_conn('0.0.0.0', '4446')

    def emptyline(self):
        pass
    def do_quit(self, arg):
        return True

cli = CLI()
cli.cmdloop("Welcome to the server.")

我遇到的问题是当客户端连接时。它不会重印提示。它挂在只有光标的空行上。我不知道怎样才能得到打印的提示。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43379
 
1463 次点击  
文章 [ 1 ]  |  最新文章 5 年前