Pythonを使ったファイル検索を学ぶ
執筆者:南波真之
※本記事は吉政創成株式会社「Python学習とキャリアアップ」より寄稿されたコラムとなります。

私は現在、Pythonについて勉強を進めています。というのも、AIやデータ分析、アプリケーション開発など様々な状況でPythonは活用されており、テクノロジー業界で活躍していくためには必要だと思っているからです。
と言っても、私はエンジニアではない文系の人間です。
「解きながら学ぶ Pythonつみあげトレーニングブック」を使って、Pythonの一番基本的なところを学んでいます。そこで、自分で学習してきて感じたポイントや疑問、皆さんにシェアできることを書いていきます。
今回は、P.194〜P.197の部分になります。Pythonを使ってファイルを操作する方法について学習してみました。
Pythonのファイル操作
Pythonによるファイル操作を行うことで、ファイルからデータを読み込む、処理の結果をファイルに保存する、などのファイル読み書きに関することが実現できます。
これにより、例えばデータ分析の際に該当のデータを読み込む、分析結果を特定のファイルに記録していくといった動きを取ることができるようになります。
まずはファイル操作に関して必須の「パス」についてです。
パスの操作
パスは pathlibモジュールのPathクラスを使うことで操作できます。pathlibというのは、一連のファイル操作を1つのモジュールで行うことができるものです。
まずは、インストールから入ります。
次に、テストでサンプルファイルとサンプルディレクトリを作成してパスを表示させてみます。
↓(出力結果)
相対パス: test_dir/sample.txt
ちなみに、絶対パスの場合はこのようになります。
↓(出力結果)
絶対パス: /Users/username/workspace/python-test/workspace/test_dir/sample.txt
出力結果は利用しているディレクトリやOSによって異なりますが私の環境ではこのように出力されました。現在のディレクトリ(カレントディレクトリ)を見たい場合はこのようになります。
↓(出力結果)
カレントディレクトリ: /Users/username/workspace/python-test/workspace
このpathlibを使うことで、例えばファイルの作成などもできるようになります。
このコードを実行すると、カレントディレクトリにtarget_fileの値であるファイルが作成されます。Linuxのtouchコマンドの動作が行えるようなイメージです。
複数ファイルの操作
次は、複数ファイルを操作する方法です。これはPathクラスのglobメソッドを利用することで実現できます。
検索対象フォルダのPathオブジェクトを作成するために Path("検索フォルダ") を記述し、Path.glob("検索結果") とすることで、条件に合ったファイルやフォルダを検索することができます。
↓(出力結果)
test002.py
test003.py
test004.py
test001.py
test005.py
無事、指定したファイルをすべて取得できました。
ファイルの読み書き
ここまではパスやファイルの取得を行ってきましたが、ここからは実際にファイルへの読み書きを操作していきます。そのために、こちらの2つのメソッドを使用します。
- read_text メソッド
- write_text メソッド
読み込みの方をやってみます。指定のディレクトリ(今回はカレントディレクトリ)の中にある 拡張子が.pyのファイルを検索し、中身を読み込んで出力させるまでの操作です。
↓(出力結果)
パス: test002.py
# テストPythonファイル02
パス: test003.py
# テストPythonファイル03
パス: test004.py
# テストPythonファイル04
パス: test001.py
# テストPythonファイル01
x, y = 10, 100
print(x, y)
パス: test005.py
# テストPythonファイル05
一気にテキストで出力されるので分かりづらいところはありますが、しっかり読み込まれた内容で出力ができています。次は、書き込みを行います。指定のファイルを取り上げてテキストを書き込みます。
こちらも該当のファイルにテキストの書き込みができました。
このような作業を実際にファイルの操作を行う場合に実施します。
ファイル操作もしっかり習得
今回は、Pythonで実施するファイル操作公式ドキュメントについて学習してきました。該当ファイルの読み込み、検索、書き込み、といった動作はPythonを使った操作や活用を行う際にかなりの確率で発生すると思います。
手を動かしながら理解してPython学習を進めていきましょう。
インターネット・アカデミーは、Python講座が充実しています。Python認定スクールにもなっているため質の高い知識を得ることができ、基礎学習の先にあるそれぞれの目標を目指していくためには良い場所となります。ご興味ある方は各講座のページを覗いてみてください。
南波真之
デジタル人材育成・助成金のお役立ち資料をダウンロード

デジタル人材育成や助成金活用のお役立ち資料などをまとめてダウンロードしていただけます。コンサルタントへの無料相談をご希望の方はこちらからお問い合わせください。
- DX人材の育成&事例紹介 リスキリングのロードマップ付き
- デジタル人材育成に使える助成金制度
- デジタルスキル標準 役割別おすすめ講座