嗨,我有兴趣从头到尾一次读取一个字节的文件。
这是我到目前为止所拥有的:
fileName = raw_input()
with open(fileName , "rb") as handler:
while True:
piece = handler.read(1)
if piece =="":
break
print piece
我怎样才能改变它,以便我能够从头到尾以字节为单位读取文件?
嗨,我有兴趣从头到尾一次读取一个字节的文件。
这是我到目前为止所拥有的:
fileName = raw_input()
with open(fileName , "rb") as handler:
while True:
piece = handler.read(1)
if piece =="":
break
print piece
我怎样才能改变它,以便我能够从头到尾以字节为单位读取文件?
关于什么?
with open(fileName , "rb") as handler:
size = handler.seek(0, 2) #2= SEEK_END
while size > 0:
size -= 1
handler.seek(size)
b = handler.read(1)
print b
据我所知,这个问题有两种解决方案。
一方面,你可以使用tell and seek函数"
>>> fh = open("e:\\text.txt","rb")
>>> fh.seek(0,2)
>>> length = fh.tell()
>>> for i in range(length, 0, -1):
fh.seek(i-1,0)
char = fh.read(1)
print(char)
另一方面,您可以读取所有内容(如果文件不是太大),然后从头到尾处理它:
>>> fh = open("e:\\text.txt","rb")
>>> fc = fh.read()
>>> fh.close()
>>> for i in range(len(fc),0,-1):
print(fc[i-1])