我有一個問題,它與Python中的文件輸入和輸出有關(這是對此問題的延續:how to extract specific lines from a data file,現已解決)。基於另一個文件的內容的文件輸出
所以我有一個很大的文件,danish.train
,十一小文件(稱爲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)
的問題是,這個代碼只給出了file_number 1輸出,雖然我已經從1-11循環。如果我改變範圍,例如到in range(2,3)
,我得到一個輸出danish.train.part-02
,但是這個輸出包含整個danish.train
的一個副本而不會忽略文件danish.test.part-02
的內容,如我所願。
我懷疑這些問題可能與我沒有完全瞭解with... as
運營商有關,但我不確定。任何幫助將不勝感激。
非常感謝你!這真的很有幫助! – Johanna