Pythonで特定の拡張子を持つファイル名を取得する方法

はじめに

Pythonはその豊富なライブラリと簡潔な文法から、データ分析やウェブ開発、スクリプティングなど、様々な場面で利用されています。特にファイル操作に関しては、Pythonの標準ライブラリだけでも多くのことが可能です。

今回は、特定の拡張子を持つファイル名を取得する方法について解説します。このスキルは、大量のファイルを扱う際や特定の種類のファイルだけを操作したいときなど、様々なシチュエーションで役立ちます。

具体的には、globライブラリとosos.pathライブラリを使った2つの方法を紹介します。それぞれの方法について、コード例とともに詳しく見ていきましょう。また、拡張子による条件分岐の方法も紹介します。

それでは、Pythonで特定の拡張子を持つファイル名を取得する方法を学んでいきましょう。

globライブラリを使った方法

Pythonのglobライブラリは、ディレクトリ内のファイル名を簡単に取得するためのツールです。特定のパターンに一致するファイル名を取得することができます。これにより、特定の拡張子を持つファイルを簡単に見つけることができます。

以下に、globライブラリを使って.txt拡張子を持つファイル名を取得するコード例を示します。

import glob

# '.txt'拡張子を持つファイル名を取得
txt_files = glob.glob('*.txt')

# ファイル名を表示
for file in txt_files:
    print(file)

このコードは、実行したディレクトリ内の全ての.txtファイルを見つけ、そのファイル名を表示します。glob.glob('*.txt')は、*が任意の文字列を表すワイルドカードであるため、.txtで終わる全てのファイル名に一致します。

このように、globライブラリを使うと、特定の拡張子を持つファイル名を簡単に取得することができます。次に、osos.pathライブラリを使った方法を見ていきましょう。

osとos.pathライブラリを使った方法

Pythonのosos.pathライブラリは、オペレーティングシステムとのインタラクションを可能にするツールです。これらのライブラリを使用すると、ディレクトリの操作やファイルパスの操作など、様々なファイル操作を行うことができます。

以下に、osos.pathライブラリを使って.txt拡張子を持つファイル名を取得するコード例を示します。

import os

# 現在のディレクトリ内の全てのファイルとディレクトリを取得
all_files_and_dirs = os.listdir()

# '.txt'拡張子を持つファイル名だけを取得
txt_files = [f for f in all_files_and_dirs if os.path.isfile(f) and f.endswith('.txt')]

# ファイル名を表示
for file in txt_files:
    print(file)

このコードは、実行したディレクトリ内の全ての.txtファイルを見つけ、そのファイル名を表示します。os.listdir()は現在のディレクトリ内の全てのファイルとディレクトリを取得します。その後、リスト内包表記を使用して、.txtで終わるファイル名だけを取得します。

このように、osos.pathライブラリを使うと、特定の拡張子を持つファイル名を簡単に取得することができます。次に、拡張子による条件分岐の方法を見ていきましょう。

拡張子による条件分岐

特定の拡張子を持つファイルだけを操作したい場合、拡張子による条件分岐が有効です。Pythonのosos.pathライブラリを使うと、ファイルの拡張子を取得し、それに基づいて処理を分岐することができます。

以下に、拡張子による条件分岐のコード例を示します。

import os

# 現在のディレクトリ内の全てのファイルとディレクトリを取得
all_files_and_dirs = os.listdir()

# ファイル名と拡張子に分割
files_and_exts = [os.path.splitext(f) for f in all_files_and_dirs if os.path.isfile(f)]

# 拡張子による条件分岐
for file_name, ext in files_and_exts:
    if ext == '.txt':
        print(f'{file_name} is a text file.')
    elif ext == '.py':
        print(f'{file_name} is a Python file.')
    else:
        print(f'{file_name} is a file of another type.')

このコードは、実行したディレクトリ内の全てのファイルを見つけ、その拡張子に基づいて処理を分岐します。os.path.splitext(f)はファイル名と拡張子に分割します。その後、拡張子によってメッセージを変えてファイル名を表示します。

このように、拡張子による条件分岐を使うと、特定の拡張子を持つファイルだけを操作することができます。これで、Pythonで特定の拡張子を持つファイル名を取得する方法についての解説は終わりです。これらの知識が皆さんのPythonプログラミングに役立つことを願っています。次回もお楽しみに!

まとめ

この記事では、Pythonで特定の拡張子を持つファイル名を取得する方法について学びました。具体的には、globライブラリとosos.pathライブラリを使った2つの方法、そして拡張子による条件分岐の方法を紹介しました。

  • globライブラリを使うと、特定のパターンに一致するファイル名を簡単に取得することができます。
  • osos.pathライブラリを使うと、ディレクトリの操作やファイルパスの操作など、様々なファイル操作を行うことができます。
  • 拡張子による条件分岐を使うと、特定の拡張子を持つファイルだけを操作することができます。

これらの方法を使うことで、大量のファイルを扱う際や特定の種類のファイルだけを操作したいときなど、様々なシチュエーションで役立つでしょう。

Pythonの豊富なライブラリと簡潔な文法は、これらのようなタスクを簡単に実現するための強力なツールです。これらの知識が皆さんのPythonプログラミングに役立つことを願っています。次回もお楽しみに!

Comments

No comments yet. Why don’t you start the discussion?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です