Trong Python trên Windows tôi có thể tạo một tập tin lớn bằng cáchTăng kích thước của một tập tin sử dụng mmap
from mmap import mmap
f = open('big.file', 'w')
f.close()
f = open('big.file', 'r+')
m = mmap(f.fileno(), 10**9)
Và bây giờ là big.file
(khoảng) 1 gigabyte. Trên Linux, mặc dù, điều này sẽ trả về ValueError: mmap length is greater than file size
.
Có cách nào để có được hành vi tương tự trên Linux như với Windows không? Nghĩa là, để có thể tăng kích thước của tệp bằng cách sử dụng mmap
?
Điều đó hữu ích vì bạn cũng có thể rút ngắn tệp. Bây giờ tôi muốn Windows có 'ftruncate()'! –
Windows không có 'ftruncate()'? Vâng, điều đó làm tôi ngạc nhiên :-) Tuy nhiên, chắc chắn nó phải có * một số * tương đương với phương pháp phát triển hoặc thu hẹp các tập tin. – Celada
Tôi nên nói rằng tôi đang căn cứ tuyên bố đó ra khỏi Tài liệu Python, không tắt bất kỳ tài liệu Windows nào. –