2012-10-05 4 views
1

파이썬 :의 mmap에 ValueError를 -이 같은 파일을 메모리 매핑하기 위해 노력하고있어

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 

이 검색 후, 난 아직도 무엇을 알아낼 수 없습니다 틀린 이상한 물건은이다, 이것은 30 분 전에 일하고 있었다! 어떤 도움이 필요합니까?

+2

파일이 비어 있는지 확인 하시겠습니까 ?? –

+0

@RohitJain 아하 네가 맞아. 너무 많은 파일들과 함께이 파일을 알아 채지 못했습니다. 고맙습니다. – MinaHany

답변

4

이 영업 이익에 도움이되었다으로 나는 .. 내 댓글에서이 이동하고 매개 변수의 파일 인 경우

당신은 당신의 파일이 비어 있는지 여부를 확인해야

에 .. mmap.mmap는 예외가 발생합니다 빈 ..

은 설명서 확인 -의 종류의 방법으로 (처음으로 파일에서 memmap을 읽는 동안 = 'R'을 모드를 사용할 때이 오류에 달렸다>http://docs.python.org/library/mmap.html

+0

파일이 덮어 써 져서 비어있는 것처럼 보입니다. 고맙습니다. – MinaHany

+0

@MinaHany .. 너 오신 것을 환영합니다 .. :) –

0

그 부분을 선언하는 그 파일은 memmap입니다). 이 경우 numpy는 파일에서 데이터를 읽으려고 시도하며 파일이 충분히 길지 않다는 사실을 인식하고 파일을 확장하여 새로운 memmap이 거기에있을 수 있도록합니다. numpy가 쓰기 권한없이이 방법으로 파일을 확장 할 수 없다는 것을 깨닫는 데는 시간이 걸렸습니다.

관련 문제