0
私は以下のようにlinecountを安価に見つけるためにcode written by Michaelを持っていますが、実行するとAttributeError File object has no attribute 'raw'
というエラーが発生します。以下は、任意のヘルプは非常に_make_gen(f.read)
に変更_make_gen(f.raw.read)
AttributeError Fileオブジェクトに 'raw'属性がありません。エラー
from itertools import (takewhile,repeat)
def _make_gen(reader):
b = reader(1024 * 1024)
while b:
yield b
b = reader(1024*1024)
def rawpycount(filename):
f = open(filename, 'rb')
f_gen = _make_gen(f.raw.read)
return sum(buf.count(b'\n') for buf in f_gen)
「特にこれはPython 3にのみ適用されます。 –
その部分を見逃してしまいましたが、Python 2.7で実行する方法はありますか? – Zack
私はそれがちょうど 'f.read'であるべきだと思います、python 3はユニコードで直接動作し、python 2.7はバイトで直接動作します。 –