#はじめに
今回大学で課された課題のうちで下準備としての課題で以下のようなものがでました
①インターネットを用いて、英文1000文を集めたデータベースを作る
ここで、同じ文が無いことを確認せよ。
さすがに1000文もあると目で見て重複文があるかどうかを判断するのが大変なので最近練習してるpythonで書いてみようということを思った上でのプログラムです
#プログラム
check.py
# -*- coding: utf-8 -*-
import sys
str1 =""
try:
file_name = sys.argv[1]
except IndexError:
print('Usage: {0} TEXTFILE'.format(file_name))
sys.exit(1)
with open(file_name, 'r') as f:
# 集合型にすることで重複が消える(順序は保証されない)
# .rstrip()することで、一番最後の行に改行を入れる必要がなくなる
unique_texts = {line.rstrip() for line in f}
for i in unique_texts:
str1 += i+"\n"
with open(file_name + '.disticted.txt', 'w') as f:
f.writelines(str1)
#最後に
このプログラムはテキストの一文そのまま比較してるから最終文の後に改行しておかないと最後の文が重複した時に削除されない.
##追記
hatchineeさんの編集リクエストを改変して編集し直しました