我正在编写一个 Python 脚本,它将从 TextWrangler 获取 STDIN,并逐行对其进行处理。在 Textwrangler 中,我使用拖放组合多个文本文件。问题是文档保留了 ^Z (0x1A) 字符,我的 Python 脚本将其解释为 EOF 指示符。结果是我的脚本只“看到”了许多组合文本文档中的第一个(直到第一个 EOF 字符)。
我已经研究并阅读了有关以二进制模式、缓冲区等读取的内容,但我对这类东西完全是新手,无法弄清楚如何实现这些想法。似乎 readlines() 寻找 EOF 并停止。我怎样才能防止这种情况?
这是我的代码:
import sys
for line_number, line in enumerate(sys.stdin.readlines()):
if len(line) > 4: # Blank lines are skipped
if line.split()[0].isdigit(): #Determine if the line begins with an EVENT NUMBER
print line.split()[7]