In Python su Windows posso creare un file di grandi dimensioni daaumentare le dimensioni di un file utilizzando mmap
from mmap import mmap
f = open('big.file', 'w')
f.close()
f = open('big.file', 'r+')
m = mmap(f.fileno(), 10**9)
E ora big.file
è (circa) 1 gigabyte. Su Linux, tuttavia, questo restituirà ValueError: mmap length is greater than file size
.
C'è un modo per ottenere lo stesso comportamento su Linux come con Windows? Cioè, per essere in grado di aumentare le dimensioni di un file usando mmap
?
Oh è utile perché puoi anche abbreviare un file. Ora vorrei che Windows avesse 'ftruncate()'! –
Windows non ha 'ftruncate()'? Beh, questo sorprende anche me :-) Eppure sicuramente deve avere * qualche * metodo equivalente per far crescere o restringere i file. – Celada
Devo dire che sto basando questa affermazione su Python Docs, non sulla documentazione di Windows. –