2011-05-09 6 views
1

읽기()가 큰 데이터를 읽고 (바이너리 모드) 문제 :파이썬 :이 코드는 잘 작동

f = open("C:/Dokumente und Einstellungen/schnei17/Desktop/a.txt", "r") 
f.seek(0) 
print f.read(200) 

을 그러나 여기) (읽기가 제대로 작동하지 않습니다

print f.read(2000) 

출력이 매우 짧습니다. 이거 버그 야? 파일에 유니 코드 데이터가 들어 있습니다. 미리 감사드립니다.

솔루션 :

f = open("C:/Dokumente und Einstellungen/schnei17/Desktop/a.txt", "rb") 
f.seek(0) 
print f.read(200) 
+1

파일에 2000 바이트의 데이터가 포함되어 있습니까? –

답변

2

이 무엇을 생산 하는가?

import os 
filename = "C:/Dokumente und Einstellungen/schnei17/Desktop/a.txt" 
print "Filesize: %s" % (os.path.getsize(filename),) 
f = open(filename, "r") 
data = f.read(2000) 
print "Read %s bytes" % (len(data),) 

파일 크기 : 62606 읽기 692 바이트

그리고 바이너리 읽기 모드를 변경?

import os 
filename = "NewProv.txt" 
print "Filesize: %s" % (os.path.getsize(filename),) 
f = open(filename, "rb") 
data = f.read(2000) 
print "Read %s bytes" % (len(data),) 
+0

파일 크기 : 62606 읽기 692 바이트 – kame

+0

파일 크기 : 62606 읽기 2000 바이트 – kame

관련 문제