Pythonでのファイルの入力と出力に関係する問題があります(これは、この質問の続きです。データファイルから特定の行を抽出する方法です。これは現在解決されています)。
したがって、1つの大きなファイルdanish.train
と11の小さなファイル(と呼ばれるdanish.test.part-01
など)があり、それぞれにファイルからのデータの異なる選択が含まれていdanish.train
ます。ここで、11個のファイルのそれぞれについて、それらを補完する付随ファイルを作成したいと思います。つまり、小さなファイルごとに、danish.train
すでに小さなファイルにある部分を差し引いた内容を含むファイルを作成する必要があります。
私がこれまでに思いついたのはこれです:
trainFile = open("danish.train")
for file_number in range(1,12):
input = open('danish.test.part-%02d' % file_number, 'r')
for line in trainFile:
if line not in input:
with open('danish.train.part-%02d' % file_number, 'a+') as myfile:
myfile.write(line)
問題は、1から11までのループがありますが、このコードはfile_number1の出力しか提供しないことです。たとえば、範囲をに変更するとin range(2,3)
、出力が得られますが、この出力には、必要に応じて、ファイルの内容を省略せずdanish.train.part-02
に全体のコピーが含まれています。danish.train
danish.test.part-02
with... as
これらの問題は、オペレーターを完全に理解していない私と関係があるのではないかと思いますが、よくわかりません。どんな助けでも大歓迎です。