[英]How to get byte offset in a file in python
我正在使用hadoop和python进行反向索引。 我想知道如何在python中包含行/字的字节偏移量。 我需要这样的东西
hello hello.txt@1124
我需要用于制作完整倒排索引的位置。 请帮忙。
像这样?
file.tell()
返回文件的当前位置,例如stdio的ftell()。
http://docs.python.org/library/stdtypes.html#file-objects
不幸的是,tell()无法运行,因为OP使用的是stdin而不是文件。 但是围绕它构建包装以提供所需的东西并不难。
class file_with_pos(object):
def __init__(self, fp):
self.fp = fp
self.pos = 0
def read(self, *args):
data = self.fp.read(*args)
self.pos += len(data)
return data
def tell(self):
return self.pos
然后,您可以使用它代替:
fp = file_with_pos(sys.stdin)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.