Le altre risposte di lavoro per i file veri e propri, ma se avete bisogno di qualcosa che funziona per "oggetti di file-like", provate questo:
# f is a file-like object.
f.seek(0, os.SEEK_END)
size = f.tell()
Si lavora per i file reali e StringIO di, nel mio test limitato. (Python 2.7.3.) L'API "file-like object" non è in realtà un'interfaccia rigorosa, ma lo API documentation suggerisce che gli oggetti simili a file debbano supportare seek()
e tell()
.
Modifica
Un'altra differenza tra questo e os.stat()
è che si può stat()
un file anche se non si ha il permesso di leggerlo. Ovviamente l'approccio seek/tell non funzionerà se non si ha il permesso di leggere.
Edit 2
Su suggerimento di Jonathon, Ecco una versione paranoico. (La versione di cui sopra lascia il puntatore del file alla fine del file, quindi se si dovesse provare a leggere dal file, si otterrebbe zero byte di nuovo!)
fonte
2013-09-29 15:41:10
È in byte? Orbita? –
Questo è in byte –
@HaikalNashuha Non conosco alcun file system che consenta file di byte frazionari –