【问题标题】:Open a sub-cmd window with Python用 Python 打开一个子 cmd 窗口
【发布时间】:2014-08-08 14:43:35
【问题描述】:

我正在用 Python 制作一个 cmd IRC 客户端。我想在可以写消息的同时接收数据,在我之前的代码中我只能写 2 条消息然后它出错了,直到它接收到某种数据我才能写。

问题是,我可以让一个 cmd 窗口运行接收到的数据,而另一个具有恒定输入的窗口等待我写一些要发送的东西吗?也许是线程? 我查看了子流程库,但我真的不知道如何编写代码。

CMD1:
  while Connected:
     print socket.recv(1024)

CMD2:
  while Connected:
     text = raw_input("Text to send>> ")
     socket.send(text)

(这是伪代码,不是真实的)

【问题讨论】:

  • 你可能想使用异步 IO。互联网上有很多资源。

标签: python sockets cmd subprocess


【解决方案1】:

您提出的这种方法可以通过制作一个类似服务器的应用程序和 2 个通过 localhost 连接以发送和接收事件的客户端应用程序来完成。这样你就可以打开 2 个终端,连接到服务器的同一个会话。

另一方面,您应该考虑一种不同的设计方法,包括 ncurses,它允许您在同一终端(上下两部分)创建一个具有输入和输出的终端 ui。可以参考:http://gnosis.cx/publish/programming/charming_python_6.html

【讨论】:

  • 也许包括 ncurses 是解决方案。我不知道,所以我认为我不能同时做这两件事(输入和输出)。如果一切顺利,将检查是否正确
猜你喜欢
  • 2013-05-10
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 2022-08-12
  • 2015-01-10
  • 1970-01-01
  • 1970-01-01
  • 2014-01-09
相关资源
最近更新 更多