Oltre all'ovvio (uno è un tipo, l'altro è una classe)? Quale dovrebbe essere preferito? Qualunque differenza notevole nei casi d'uso, forse?Qual è la differenza tra StringIO e io.StringIO in Python2.7?
24
A
risposta
24
http://docs.python.org/library/io.html#io.StringIO
http://docs.python.org/library/stringio.html
vedo questo.
An in-memory stream for unicode text. It inherits TextIOWrapper.
This module implements a file-like class, StringIO, that reads and writes a string buffer (also known as memory files).
io.StringIO
è una classe. Gestisce Unicode. Riflette la struttura della libreria Python 3 preferita.
StringIO.StringIO
è una classe. Gestisce le stringhe. Riflette la struttura legacy della libreria Python 2.
What should be preferred?
Andare sempre avanti verso la nuova organizzazione della biblioteca. È necessario utilizzare io.open
per sostituire Unicode-inconsapevole incorporato open
.
Avanti. Andare avanti
Problemi correlati
- 1. Qual è la differenza tra = e: =
- 2. Qual è la differenza tra `##` e `hashCode`?
- 3. Qual è la differenza tra dict() e {}?
- 4. qual è la differenza tra:.! e: r !?
- 5. Qual è la differenza tra Verilog! e ~?
- 6. Qual è la differenza tra ("") e (null)
- 7. Qual è la differenza tra? : e ||
- 8. qual è la differenza tra [[], []] e [[]] * 2
- 9. Qual è la differenza tra $ e $$?
- 10. Qual è la differenza tra " " e ""?
- 11. Qual è la differenza tra {0} e ""?
- 12. Qual è la differenza tra {0} e +?
- 13. Qual è la differenza tra .ToString() e + ""
- 14. Qual è la differenza tra "in fp" e "in fp.readlines()"?
- 15. StringIO in Python3
- 16. Qual è la differenza tra Metodi e Attributi in Ruby?
- 17. qual è la differenza tra @ id/e @ + id/in android?
- 18. Qual è la differenza tra 'e "in? JavaScript
- 19. Qual è la differenza tra booleano e booleano in Java?
- 20. Qual è la differenza tra target e currenttarget in flex?
- 21. In .NET, qual è la differenza tra AsFoo() e ToFoo()?
- 22. Qual è la differenza tra reindirizzamento e inoltro in Symfony?
- 23. Qual è la differenza tra identità e uguaglianza in OOP?
- 24. Qual è la differenza tra .replace e -replace in powershell?
- 25. Qual è la differenza tra% e %% in un file cmd?
- 26. Qual è la differenza tra `@ Bind` e` @ BindView` in butterknife?
- 27. Qual è la differenza tra ConditionPathExists = e ConditionPathExists = | in systemd?
- 28. Qual è la differenza tra commit() e commitAllowingStateLoss() in Fragments
- 29. Qual è la differenza tra Boxing e AutoBoxing in Java?
- 30. Qual è la differenza tra @observable e @published in polymer.dart?
In realtà, il passaggio al comportamento io.StringIO può causare problemi se gli altri 2.7 pacchetti/moduli non sono ancora compatibili con Unicode. Almeno lo ha fatto per me quando gunicorn "si è mosso" e Django non ha [qui] (https://github.com/benoitc/gunicorn/pull/728/files) e [qui] (https: //code.djangoproject .com/biglietti/20185). – hobs
@hobs Ho riscontrato lo stesso problema nel tentativo di utilizzare io.StringIO in mock.patch 'argparse'. Il modo migliore che ho trovato per far funzionare i test sia in 2 che in 3 era 'prova: da StringIO import StringIO tranne ImportError: da io import StringIO'. – jtpereyda