J'ai un client pour l'interface web à long processus en cours. J'aimerais que la sortie de ce processus soit affichée comme elle vient. Fonctionne très bien avec urllib.urlopen()
, mais n'a pas de paramètre timeout
. D'un autre côté, avec urllib2.urlopen()
, la sortie est mise en mémoire tampon. Y at-il un moyen facile de désactiver ce tampon?unbuffered urllib2.urlopen
1
A
Répondre
0
Un hack rapide qui s'est produit à moi est d'utiliser urllib.urlopen()
avec threading.Timer()
pour émuler le délai. Mais ce n'est que bidouille rapide et sale.
0
urllib2
est tamponnées lorsque vous appelez juste read()
vous pouvez définir une taille à lire et donc désactiver mise en mémoire tampon.
par exemple:
import urllib2
CHUNKSIZE = 80
r = urllib2.urlopen('http://www.python.org')
while True:
chunk = r.read(CHUNKSIZE)
if not chunk:
break
print(chunk)
ce serait imprimer la réponse après chaque morceau est lu à partir de la douille, jusqu'à ce que le tampon ne toute la réponse est reçue.
Questions connexes
- 1. Python urllib2 instruction multiple try sur urlopen()
- 2. Modification de l'agent utilisateur sur urllib2.urlopen
- 3. urllib2.urlopen lance 404 exception pour urls ce navigateur ouvre
- 4. Est-ce que urllib2.urlopen() cache des choses?
- 5. Détection des erreurs de timeout dans urllib2 urlopen de Python
- 6. Mocking urllib2.urlopen et lxml.etree.parse en utilisant pymox
- 7. urllib2.urlopen() vs urllib.urlopen() - urllib2 lance 404 alors que urllib fonctionne! POURQUOI?
- 8. Utilisation du sondage sur un objet de type fichier renvoyé par urllib2.urlopen()?
- 9. Qu'est-ce qui provoque urllib2.urlopen() à se connecter via proxy?
- 10. Pourquoi ne puis-je pas télécharger un fichier image entier avec urllib2.urlopen()
- 11. Python urllib2.urlopen retournant 302 erreur même si la page existe
- 12. Comment puis-je obtenir l'URL de redirection finale lors de l'utilisation de urllib2.urlopen?
- 13. Buffered vs unbuffered IO
- 14. Android: Unbuffered IO
- 15. Quels sont les paramètres de registre/environnement (ou autre) utilisés par urllib2.urlopen pour déterminer les paramètres de proxy?
- 16. Python 3 Urlopen vs Urlretreive
- 17. Lire le contenu url, unbuffered php
- 18. urllib2 envoi de données
- 19. Plusieurs connexions urllib2
- 20. urllib2 read to Unicode
- 21. Proxy avec urllib2
- 22. Dites-urllib2 à utiliser
- 23. Python urllib2 HTTPBasicAuthHandler
- 24. urllib2 se fige GUI
- 25. Que faire avec "erreur urlopen" en python?
- 26. AttributeError: l'objet 'module' n'a pas d'attribut 'urlopen'
- 27. Strange comportement d'urllib2.urlopen() sur Ubuntu 10.10
- 28. MediaPlayer.seekTo() ne fonctionne pas pour la position unbuffered
- 29. Lecture et sortie Python à partir de Stdin Unbuffered
- 30. En Python, urllib2 donnant erreur
Question très similaire à http://stackoverflow.com/questions/107705/python-output-buffering – synthesizerpatel
@synthesizerpatel: bien, urlopen() renvoie un objet avec une interface de type fichier, mais ce n'est pas un fichier. – vartec