2009-09-23 12 views
1

Je me demandais quelles sont les bonnes bibliothèques/frameworks de réseau pour Python.Quelles bibliothèques/frameworks réseau existent pour Python?

Veuillez fournir un lien vers la documentation standard de l'API pour la bibliothèque, et éventuellement un lien vers un didacticiel décent pour commencer.

Un commentaire ou deux sur ses avantages/inconvénients serait bien aussi.

+2

Beaucoup, beaucoup de questions similaires: http://stackoverflow.com/search?q=python+networking+library –

+2

en double : http://stackoverflow.com/questions/441849/good-python-networking-libraries-for-building-a-tcp-server –

Répondre

4

Considérons le cadre Twisted. L'avantage:

  • réacteur solide appui à l'exécution
  • pour presque tous les protocoles réseau à l'état sauvage
  • bien documenté

Inconvénients:

  • c'est énorme
  • les API asynchrones ont besoin de temps pour s'y habituer (mais une fois que vous connaissez, les choses sont en fait assez utile)

CPython lui-même est livré avec un petit reactor/socket package. Je ne l'ai jamais utilisé moi-même, cependant.

+0

tordu n'est pas énorme, c'est une idée fausse que je ne peux pas obtenir d'où il vient. Je viens d'ajouter la taille des fichiers .py dans ma copie tordue et j'ai obtenu seulement 9.7MB. C'est ** très petit **, compte tenu du fait que la plupart des disques durs vendus aujourd'hui sont> = 500 Go.Même les téléphones cellulaires ont ceci facilement disponible. Et pour moins de 10 Mo, j'ai obtenu le support de presque tous les protocoles trouvés dans la nature. Je pourrais en retirer des parties pour le rendre plus petit mais cela ne vaut guère la peine d'économiser quelques Mo. S'il vous plaît clarifier ce que vous voulez dire avec * énorme *. – nosklo

+5

C'est assez important en termes de temps nécessaire pour le coder ou le comprendre, le nombre de fonctions qu'il fournit ou le nombre de façons subtilement différentes de l'utiliser. – jnylen

+0

Énorme comme dans vaste, pas nécessairement énorme comme dans la taille du fichier. La bibliothèque peut être supprimée par n'importe quel optimiseur si l'espace disque est réellement un problème. – Soviut

6

La bibliothèque standard a asyncore ce qui est bon pour les choses très simples ainsi que les choses SocketServer si vous préférez quelque chose qui fait des threads. Il y a aussi Twisted mais la barrière d'entrée est un peu élevée si vous n'êtes pas habitué à des IO orientées événement. Si vous êtes après les frameworks web, CherryPy est un bon début ou il y a Django et TurboGears si vous cherchez quelque chose de plus complet.

Questions connexes