複数のファイルを扱う

複数のファイルを同時に開いて、それらを一緒に操作することができます:
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.txtr(読み込み)モードで、doc2.txtw(書き込み)モードで開いています。複数の 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

To check your solution you need to sign in
Sign in to continue