私は StackOverflow を見回しましたが、特定の質問に対する答えが見つからなかったので、何か見逃していたら許してください。
import re
target = open('output.txt', 'w')
for line in open('input.txt', 'r'):
match = re.search(r'Stuff', line)
if match:
match_text = match.group()
target.write(match_text + '\n')
else:
continue
target.close()
解析しているファイルは巨大なので、1 行ずつ処理する必要があります。
これは(もちろん)ファイルの最後に追加の改行を残します。
「一致する場合」ループの最後の繰り返しで、ファイルの最後に余分な改行文字が置かれないように、このコードをどのように変更するのが最善でしょうか。最後にファイルをもう一度調べて、最後の行を削除する必要がありますか (少し効率が悪いようですが)。
私が見つけた既存の StackOverflow の質問は、ファイルからすべての新しい行を削除することをカバーしています。
このコードを書くためのよりPythonic/効率的な方法があれば、私自身の学習のための提案も歓迎します.
助けてくれてありがとう!