複数のファイルを扱う
複数のファイルを同時に開いて、それらを一緒に操作することができます:
with open('doc1.txt') as d1, open('doc2.txt', 'w') as d2:
text = d1.read() # doc1.txt からすべて読み込む
d2.write(text) # 内容を doc2.txt に書き込む
print('Done copying the content')
ここでは、
doc1.txt
を r
(読み込み)モードで、doc2.txt
を w
(書き込み)モードで開いています。複数の open
操作はカンマで区切られます。with
ブロックの中では、開かれたすべてのファイルにアクセスでき、さまざまな操作を行うことができます。 チャレンジ
類似性検出システムを開発するとき、2つのファイルを比較することにしました。両方のファイルに含まれる単語の割合を知りたいと思います。
最初のファイルは
source.txt
、2つ目は student.txt
です。両方のファイルでユニークな単語の数を計算し、source.txt
のユニークな単語のうち student.txt
にも含まれるものの割合を出力してください。source.txt | student.txt | 出力 |
Line 1
Line two | Line is important | 33.333333 |
Line 1
Line two
Line 3 | Line 1 is important
Yes | 50 |
最初の例の説明:
source.txt
には3つのユニークな単語(Line、1、two)があります。単語 Line は student.txt
にも存在するため、source.txt
の単語の33.33333%が第二のファイルにも含まれています。Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB