2012-10-05 163 views
1

我嘗試的mmap像這樣的文件:ValueError異常的MMAP - Python的

f= open('file.txt', 'r') 
data= mmap.mmap(f.fileno(), 0) 

,但我得到:

data= mmap.mmap(f.fileno(), 0) 
ValueError: mmap offset is greater than file size 

尋找在此之後,我仍然無法找出什麼是錯誤和奇怪的是,這是半小時前的工作!任何幫助?

+2

檢查您的文件是否爲空? –

+0

@RohitJain你說得對。正與這麼多文件工作沒有注意到這一點。謝謝 – MinaHany

回答

4

我從我的意見提出這個,因爲它是有幫助的OP ..

你需要檢查你的文件是否爲空.. mmap.mmap拋出異常,如果參數的文件空..

檢查文件 - >http://docs.python.org/library/mmap.html

+0

看起來像文件被覆蓋,併成爲空白。謝謝。 – MinaHany

+0

@MinaHany ..不客氣.. :) –

0

我當使用模式=「R」嘗試讀取從首次一個文件MEMMAP(作爲排序的方式在跑這個錯誤宣佈t的那部分他的文件是一個memmap)。在這種情況下,numpy會嘗試從文件讀取數據,實現文件不夠長,並嘗試擴展文件,以便新的memmap可以坐在那裏。我花了一段時間才意識到numpy不能在沒有寫權限的情況下以這種方式擴展文件。