【问题标题】:How to find the byte offset in STDIN in Python?如何在 Python 中查找 STDIN 中的字节偏移量?
【发布时间】:2016-02-22 07:14:14
【问题描述】:

通常,我会这样做:

f=open(path)

for line in iter(f.readline, ''):

    print f.tell() 

但是,搜索操作是不可能的:

import sys

for line in iter(sys.stdin.readline, ''):

    print sys.stdin.tell()

【问题讨论】:

  • 为什么需要这个? stdin 不是文件,它是像对象一样的文件。
  • 我想通过管道传输流输入并记录输入某些部分的位置,例如标记流中行的结尾或开头。
  • 我认为 stringIO 模块是我需要的。
  • 管道在任何语言中都是不可搜索的。

标签: python file stdin


【解决方案1】:

您可以自己计算文件偏移量。

import sys

offset = 0
for line in sys.stdin:
  print offset
  offset += len(line)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    • 2015-03-12
    • 1970-01-01
    相关资源
    最近更新 更多