Pythonでディレクトリ内のすべてのテキスト(.txt)ファイルを一覧表示してみます。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■テキスト(.txt)ファイルを含むディレクトリを確認する
ディレクトリ内のすべてのテキスト(.txt)ファイルを一覧表示してみますが、まずテキスト(.txt)ファイルを含むディレクトリを確認します。
今回は「C:\Users\user\test(フォルダパス)」に5つのテキスト(.txt)ファイルを用意しました。
■Pythonでディレクトリ内のすべてのテキストファイルを一覧表示する
テキスト(.txt)ファイルを含むディレクトリを確認できましたので、Pythonでディレクトリ内のすべてのテキストファイルを一覧表示するスクリプトを書いていきます。
■コード
import glob import os os.chdir(r'C:\Users\user\test') txtfile = glob.glob('*.txt') print(txtfile)
ディレクトリ内のすべてのテキストファイルを一覧表示するために、今回はglobとosモジュールを呼び出します。この2つのモジュールはPythonの標準ライブラリですので、事前にインストールする必要はありません。
モジュールを呼び出したあとにos.chdir()で作業ディレクトリ(カレントディレクトリ)を取得します。今回の作業ディレクトリ(カレントディレクトリ)は、5つのテキスト(.txt)ファイルが置かれている「C:\Users\user\test(フォルダパス)」を指定します。
指定後、txtfileという変数を作成し、その中にglob.glob()と記述します。括弧内には、マッチさせたいファイルの拡張子を記述します。今回はテキスト(.txt)ファイルなので、.txtと記述します。記述後、先頭に「*」を記述することで、全てのテキスト(.txt)ファイルの一覧を取得できます。
最後にprint関数で、作業ディレクトリ(カレントディレクトリ)内の全てのテキスト(.txt)ファイルの一覧を出力します。
■実行
今回はスクリプトを「list_all_txtfiles.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、ディレクトリ内のすべてのテキスト(.txt)ファイルを一覧表示することができました。
■テキストファイルのパスを一覧表示する場合
なお、テキストファイルのパスを一覧表示するスクリプトも書いてみます。
■コード
import glob import os os.chdir(r'C:\Users\user\test') txtfile = glob.glob(r'C:\Users\user\test\*.txt') print(txtfile)
ディレクトリ内のすべてのテキスト(.txt)ファイルを一覧表示するスクリプトをさほど変わりはありませんが、glob.glob()の括弧内に、「C:\Users\user\test(フォルダパス)」を指定することで、テキストファイルのパスを取得できるようになります。
■実行
このスクリプトを実行してみます。
実行してみると、テキストファイルのパスが出力されることを確認できました。
コメント