Est-ce que la méthode read() de Python se comporte comme la lecture de C? Pourrait-il renvoyer moins que le nombre d'octets demandé avant le dernier segment du fichier est atteint? Ou est-ce que ça garantit de toujours retourner la quantité complète d'octets quand ces octets existent pour être lus?Est-ce que read() de Python renvoie toujours la taille demandée sauf à EOF?
Répondre
Sur CPython, il retournera toujours le nombre d'octets demandés, sauf si EOF est atteint.
Eh bien, la bibliothèque standard Python dit ceci au sujet file.read ([size]):
Read at most size bytes from the file (less if the read hits EOF before obtaining size bytes).
Si l'argument de taille est négatif ou omis, read all data until EOF is reached
. ... An empty string is returned when EOF is encountered immediately
. ... Notez également que when in non-blocking mode, less data than was requested may be returned, even if no size parameter was given.
Oui, j'ai lu ça, mais ça dit "lire au maximum", pas "lire le nombre exact d'octets demandés à moins de cliquer sur EOF". – Jegschemesch
- 1. NSInputStream read: maxBytes renvoie toujours 0
- 2. Racket eof-object read from port d'entrée
- 3. Comment réparer un déclencheur Zabbix qui renvoie toujours EOF
- 4. Comment mettre fin à read() quand EOF n'est pas rencontré?
- 5. La commande tee attend-elle toujours EOF?
- 6. doit être un socket fermé TOUJOURS si read() ou send() renvoie <0?
- 7. python stdin eof
- 8. Erreur EOF Python dans raw_input()
- 9. Python essayer sauf finalement
- 10. Python File Read + Write
- 11. Calculatrice Clojure GUI. "-" renvoie toujours 0 et "/" renvoie toujours 1
- 12. python read next()
- 13. La fonction décorée en Python renvoie toujours Aucune
- 14. ftp read() Erreur de mémoire en python
- 15. Bitmap.compress renvoie toujours null
- 16. Xlib: XGetWindowAttributes renvoie toujours 1x1?
- 17. booléens à ConfigParser renvoie toujours
- 18. Comment vérifier EOF en Python?
- 19. BitmapFactory.decodeStream (...) renvoie toujours la valeur null en tant que Bitmap
- 20. En Python, que renvoie getresponse()?
- 21. Erreur EOF Python lors de la lecture de la ligne
- 22. Heap block modifié passé taille demandée
- 23. fuzzy_compare de sddeep renvoie toujours 0 chargé depuis ctypes python
- 24. python os.stat retour toujours la même mtime/taille
- 25. Random.Next() renvoie toujours la même valeur
- 26. Python 2.7, EOF inattendu lors de l'analyse
- 27. read() à partir d'un ExFileObject provoque toujours l'exception StreamError
- 28. Python PySerial read-line timeout
- 29. VideoDisplay flex toujours être la même taille que le VideoDisplay
- 30. détecter EOF de fichier Excel en Python
I.e. ne le supposez pas, puisque votre code dépendra de CPython. Aussi, je ne pense pas que cela soit vrai pour tous les objets ressemblant à des fichiers. –