Il parametro max_size
di tempfile.SpooledTemporaryFile()
è la dimensione massima del file temporaneo che può essere contenuto nella memoria (prima che venga versato sul disco). Quali sono le unità di questo parametro (byte? Kilobyte?)? La documentazione (sia per Python 2.7 e Python 3.4) non indica questo.SpooledTemporaryFile: unità di dimensioni massime (in memoria)?
6
A
risposta
8
La dimensione è in byte. Dalla SpooledTemporaryFile()
source code:
def _check(self, file):
if self._rolled: return
max_size = self._max_size
if max_size and file.tell() > max_size:
self.rollover()
e file.tell()
dà una posizione in byte.
Direi che qualsiasi uso del termine size
in connessione con oggetti file Python che è non espresso in byte garantisce una menzione esplicita. Tutti gli altri metodi di file che trattano in termini di size
funzionano sempre anche in byte.
Problemi correlati
- 1. Dimensioni massime per StringBuffer
- 2. Dimensioni massime dell'area di disegno in JavaFX
- 3. Dimensioni massime per l'immagine di sfondo CSS
- 4. Dimensioni massime Javascript per i tipi?
- 5. Superamento delle dimensioni massime dell'indirizzo e-mail
- 6. Dimensioni massime dei dati restituiti ajax
- 7. Dimensioni massime di varchar (max) in SQL Server 2000
- 8. Modifica delle dimensioni di discesa in unità
- 9. Dimensioni massime del pool in corso con Entity Framework 4.3
- 10. Dimensioni pool di connessioni dell'app Rails, evitando problemi di dimensioni massime del pool
- 11. UIView. Quali sono le dimensioni limite massime che posso usare?
- 12. Python: dimensioni di stringhe in memoria
- 13. WPF - Ottieni dimensioni di UIElement in memoria?
- 14. C# - Memoria di grandi dimensioni
- 15. Dimensioni della memoria locale OpenCL e numero di unità di calcolo
- 16. Attività massime in TPL?
- 17. Funzionalità massime di MySQL
- 18. Dimensioni DLL in memoria e dimensioni sul disco rigido
- 19. Capire le dimensioni massime dell'heap JVM - 32 bit contro 64 bit
- 20. lunghezze massime richieste in node.js
- 21. vs. dimensioni della memoria in Java
- 22. dimensioni Unità iPhone app è troppo grande
- 23. PHP GD Dimensioni di memoria consentite esaurite
- 24. Ottenere dimensioni in memoria di un oggetto in PHP?
- 25. Le dimensioni massime di caricamento di PHPMyAdmin non cambieranno, file php.ini errato
- 26. Collezione first-in-first-out con dimensioni massime e senza duplicazione?
- 27. Connessioni MQTT massime
- 28. Come limitare la larghezza e l'altezza massime alle dimensioni dello schermo in CSS?
- 29. Come impostare il numero massimo di rotoli e le dimensioni massime del registro per tomcat?
- 30. Dimensioni della memoria Java della classe vs della memoria?
Buon punto, a proposito di byte standard. Tuttavia, questa è una regola implicita che richiede una buona conoscenza di Python: penso che 'SpooledTemporaryFile()' dovrebbe esplicitamente indicare che la dimensione è in byte, in modo che * chiunque * possa usarla, senza molta cultura precedente di Python. Aprirò un problema su questo. – EOL
@EOL: Non sono sicuro che sia necessario; in C o Java o C# o in qualsiasi altra lingua con cui ho lavorato, quando si tratta di un oggetto file trattato con byte, o per supporto Unicode, codepoints. Solo quando si gestiscono le API di livello superiore o le interfacce utente inizi a vedere altre unità. –
Sono sicuro che non sarebbe costato molto aggiungere "in byte" nella documentazione: probabilmente costerebbe meno del tempo perso dalle persone che hanno la stessa domanda che ho avuto. Ho avuto questa domanda a causa di una delle tue risposte (dal 2012), dove hai usato la dimensione 1024 * 10: questo è estremamente piccolo, quindi mi stavo davvero chiedendo se fossero byte. – EOL