我正在使用Python中的ijson库来解析一个大型的SON文件,我需要找到文件中特定数据所在的位置.我想使用file.tell()来获取解析过程中文件读取器的当前位置.但它只给了我文件的长度.
from ijson import parse
with open('file','r') as f:
for a, b, c in parse(f):
print(f.tell())
我正在使用Python中的ijson库来解析一个大型的SON文件,我需要找到文件中特定数据所在的位置.我想使用file.tell()来获取解析过程中文件读取器的当前位置.但它只给了我文件的长度.
from ijson import parse
with open('file','r') as f:
for a, b, c in parse(f):
print(f.tell())
ijson.parse
正在使用源文件的缓冲读取:
>>> help(ijson.parse)
Help on function parse in module ijson.common:
parse(source, buf_size=65536, **config)
如果您的文件小于64 K,那么f.tell()
将返回文件大小.
如果您使用parse(f, buf_size=1)
,那么f.tell()
应该是准确的,但解析可能会更慢.