TextWrangler から STDIN を取得し、行ごとに何かを行う Python スクリプトを作成しています。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]