Я создаю разреженные файлы в python следующим образом:
>>> f = open('testfile', 'ab')
>>> f.truncate(1024000)
>>> f.close()
когда файл готов, он занимает 0 дискового пространства, но его размер inode установлен на мое усеченное значение (1000K):
igor47@piglet:~/test$ ls -lh testfile
-rw-r--r-- 1 igor47 igor47 1000K 2010-07-09 04:02 testfile
igor47@piglet:~/test$ du -hs testfile
0 testfile
Как получить реальное использование файла (выделенный размер) внутри Python?Вызов stat
возвращает видимый размер файла, и я понятия не имею, как еще получить реальное использование, кроме чтения всего файла (он может стать довольно большим)
>>> os.stat('testfile').st_size
1024000