如何在python中获取文件中的字节偏移量

如何在python中获取文件中的字节偏移量,python,inverted-index,Python,Inverted Index,我正在使用hadoop和python制作一个反向索引。 我想知道如何在python中包含行/字的字节偏移量。 我需要这样的东西 hello hello.txt@1124 我需要一个完整的倒排索引的位置。 请帮忙 像这样 file.tell() 返回文件的当前位置,如stdio的ftell() 不幸的是,tell()不起作用,因为OP使用的是stdin而不是文件。但是,围绕它构建一个包装器来提供您需要的东西并不困难 class file_with_pos(object): def _

我正在使用hadoop和python制作一个反向索引。 我想知道如何在python中包含行/字的字节偏移量。 我需要这样的东西

hello hello.txt@1124
我需要一个完整的倒排索引的位置。 请帮忙

像这样

file.tell()
返回文件的当前位置,如stdio的ftell()

不幸的是,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)

在答案中添加了包装类。感谢您的回复。。。我会试试看。。。然而,目前我已经实现了一个计数器变量来跟踪位置。它工作得很好,因为我只需要文件中的相对位置。@Siddharth:Wai建议的代码似乎与您的“当前”代码完全相同。除非您发布自己的代码并将其标记为答案,否则请将Wai的答案标记为所选答案。