プログラムがディレクトリを経由し、各ファイルを順番に開き、特定の行を何かの前にチェックするタスクを実行しようとしています。その行が特定の基準を満たしている(つまり、ディレクトリ内の他のファイルでこの行と一致しない)場合、ファイルは閉じられ、プログラムは次のファイルに移動します。Python - ファイルが条件を満たす場合にファイルを閉じる
についてはaps = []
import os
for filename in os.listdir("C:\..."):
f = open(filename,"r")
(f.readline())
(f.readline())
ap = (f.readline())
ap = ap.rstrip("\n")
aps.append(ap)
freqs = {}
for ap in aps:
freqs[ap] = freqs.get(ap, 0) + 1
for k, v in freqs.items():
if v == 2:
f.close()
else:
「他:」、私はもともと「(0)f.seek」を試してみましたが、閉じられたファイルで作業することができないというのPythonのエラーを得ました。私は 'f = open(filename、 "r")'をもう一度試しましたが、この方法で最初の行を印刷しようとすると奇妙なことが起こります。
このタスクについては、これが最善の方法ですか?そうでなければ、どうすればそれを動かすことができますか?
多くのありがとうございます。
'f.close'の後の' else'ブランチの目的は何ですか?それでもファイルから読み込む必要はありますか? – sal
ファイルを閉じた後に 'break'を追加して、ループを維持しないようにしてください。 –