2009-09-23 46 views
1

我在想Python有什麼好的網絡庫/框架。Python有哪些網絡庫/框架?

請爲圖書館提供一個鏈接到標準的API文檔,也許體面的教程鏈接,開始使用它。

關於其優點/缺點的一兩個評論也很好。

+2

很多很多類似的問題:http://stackoverflow.com/search?q=python+networking+library – 2009-09-23 22:10:17

+2

重複:http://stackoverflow.com/questions/441849/good-python-networking-libraries-for-building-a-tcp-server – 2009-09-23 22:30:16

回答

4

考慮Twisted框架。優點:

  • 固體反應器,幾乎所有的網絡協議實現
  • 支持在野外
  • 有據可查

缺點發現:

  • 巨大
  • 級異步的API需要一些時間來適應(但是一旦你熟悉的事情實際上是非常有用)

CPython的本身附帶了一個小小的reactor/socket package。不過,從來沒有使用過它。

+0

扭曲並不是很大,這是一種誤解,我不知道它來自哪裏。我只是在我的扭曲副本中添加了.py文件的大小,只有9.7MB。這是非常小的**,考慮到今天出售的大多數硬盤大於500GB。即使手機也可以輕鬆使用。而在不到10MB的時候,我幾乎可以支持野外發現的幾乎所有協議。我可以刪除它的一部分,以使其更小,但幾乎沒有價值可以節省的MB。請澄清你的意思與*巨大*。 – nosklo 2009-09-23 23:11:47

+5

這對於編碼或理解它所花費的時間,它提供的功能數量,或可以使用它的微妙不同方式的數量來說都相當大。 – jnylen 2009-09-23 23:22:02

+0

龐大,不一定像文件大小一樣巨大。如果磁盤空間實際上是一個問題,那麼可以通過幾乎任何優化器來清除該庫。 – Soviut 2009-09-24 05:49:40

6

標準庫有asyncore這對於非常簡單的東西以及SocketServer的東西是很好的,如果你更喜歡做線程的東西的話。還有Twisted,但如果您不習慣事件驅動的IO,那麼進入這個位置的障礙有點高。如果你是在網頁框架之後,CherryPy是一個好的開始,或者如果你正在尋找更全面的功能,那麼這裏有DjangoTurboGears