我正在尋找在Python 2.x中編寫腳本來掃描物理驅動器(物理驅動器而非邏輯驅動器)的大小範圍內的特定字符串(聊天工件)。我有我的頁眉和頁腳的字符串,所以我只是想知道如何最好掃描驅動器?我擔心的是,如果我將它分解爲250MB塊,並在解析頁眉和頁腳之前將其讀取到RAM中,那麼它可能是頁眉,但頁腳處於下一個250MB塊。從物理驅動器中提取字符串
因此,本質上,我想掃描PhysicalDevice0中以「ABC」開始並以「XYZ」結尾的字符串,並從中複製所有內容。我不確定是否將數據掃描爲ascii或Hex。
隨着驅動器變得越來越大,我期待以儘可能最快的方式做到這一點。
有什麼建議嗎?
你在做什麼平臺? – iTayb
它基本上是緩衝讀取,可能你想避免檢查你是否在每個讀取一個字節的緩衝區的末尾。你可以例如讀取250 MB,掃描直到找到end_of_buffer - length_of_the_string,然後加載下一個250 MB - 字符串的長度(所以,讀數與N字節重疊,其中N是您正在搜索的字符串的長度)。在邊界上需要特別小心:如果部分匹配正在運行,則「延遲」下一個(重疊)塊的加載,或者如果完成匹配,則返回Found找到 – ShinTakezou
我希望它在多個平臺上運行如果可能的話,但大多數計算機將運行Windows 7 x64 – thefragileomen