2016-11-04 46 views
0

我想知道python hashlib庫如何處理稀疏文件。如果文件有很多零塊,那麼不是在讀取零塊時浪費CPU和內存,而是執行任何優化,比如掃描inode塊映射並只讀取分配的塊來計算散列值?Python hashlib和稀疏文件

如果它沒有這樣做,最好的辦法是自己做什麼。

PS:不確定在StackOverflow Meta中發佈此問題是否合適。

謝謝。

+1

如果您將備用文件複製到不支持稀疏文件的不同文件系統(或具有不同的塊大小,以便省略不同的塊集合),您是否真的希望它具有不同的散列? – jasonharper

回答

1

hashlib模塊甚至不能使用文件。你必須讀取數據並將塊傳遞給哈希對象,所以我不知道爲什麼你認爲它會處理稀疏文件。

I/O層對稀疏文件沒有特別的作用,但這是操作系統的工作;如果它知道文件是稀疏的,那麼「讀取」操作不需要執行I/O操作,它只需用零填充緩衝區,而不需要I/O。

+0

感謝您的澄清.. – CodeWithPride