今日は学習用データとテスト用データで重複したファイルを自動で削除するプログラムを作成した。昨日は重複したファイルをテキストに書き出すプログラム、そのテキストを読み込んで学習のほうを削除するプログラムと別にしようとしていた。今日はそれを一つにまとめた。

 

このプログラムではまずテスト用データのすべてのファイル名をテキストに書き出す。それを読み、学習用ディレクトリにその名前のファイルが存在すれば削除する。最後に書き出したテキストデータも削除するというようにした。これはなかなかうまくいき、よかった。

 

テスト用データを別のプログラムで確認するが、このプログラムは1回の実行で一枚しか処理できない。そのためshファイルにコマンドを書き込んでおく必要があるが、今はすべてのコマンドを書き出す方法しか知らない。これをディレクトリ内にあるファイル全てをpythonでいうforの形で引数に設定し、実行ができないだろうか。13種類の花かける100枚だと、すべて書くと1300行のコマンドを書かなければならない。これをforを使ったり、*.jpgのようにできれば、実際のコマンドの部分は13行書くだけで済む。このように簡単に実行できるようにしたい。

 

これの実行後にすべての正答数を足し合わせるプログラムを作りたいが、これはまだ考え途中である。shファイルで自動で実行できるようになってから取り組みたい。