Python存在哪些网络库/框架?

时间:2009-09-23 22:06:22

标签: python networking frameworks

我想知道Python有什么好的网络库/框架。

请提供指向该库的标准API文档的链接,并且可能是指向开始使用它的体面教程的链接。

关于其优缺点的一两条评论也会很好。

4 个答案:

答案 0 :(得分:6)

标准库有asyncore,这对于非常简单的东西以及SocketServer内容非常有用,如果你喜欢有线程的话。还有Twisted但如果您不习惯事件驱动的IO,那么进入的门槛有点高。如果您正在使用网络框架,CherryPy是一个良好的开端,或者DjangoTurboGears,如果您正在寻找功能更全面的内容。

答案 1 :(得分:4)

考虑Twisted框架。优点:

  • 固体反应堆实施
  • 支持几乎所有在野外发现的网络协议
  • 记录良好

缺点:

  • 它是巨大的
  • 异步API需要一些时间来习惯(但是一旦熟悉,事情实际上非常有用)

CPython本身带有一个小reactor/socket package。但是,我自己从未使用它。

答案 2 :(得分:3)

Twisted是所有Python网络框架中最完整,最复杂的。

它已经建立并且非常完整,但它有一个陡峭的学习曲线。

Documentation here; FAQ here

答案 3 :(得分:1)

如果您想构建/操作自己的数据包,还有Scapy:)

使用非常简单,它可以让你用数据包做任何你想做的事情 它是多平台的。

项目页面:http://www.secdev.org/projects/scapy/

文档:http://www.secdev.org/projects/scapy/doc/

示例:http://www.secdev.org/projects/scapy/demo.html