Pythonを使用すると、以下のような方法でファイルの拡張子を識別したり、特定の拡張子を持つファイルを処理したりすることができます。
- endswith メソッドを使う方法
- os.path.splitext メソッドを使う方法
- mimetypes モジュールを使う方法
- ファイルの中身を調べる方法
上記4つの方法について、簡単に解説していきます。
1. endswith メソッドを使う方法
endswithメソッドは、文字列が特定の拡張子で終わっているかどうかの確認に適しています。
【サンプルコード】
filename = "example.txt"
if filename.endswith(".txt"):
print("This is a text file.")
filename = "example.txt"は、テキストファイルの名前を示しており、このファイル名を使用して拡張子を確認します。
if filename.endswith(".txt"):は、filenameが".txt"で終わっているかどうかを確認する条件文を示しています。
print("This is a text file.")は、条件が真である場合、テキストファイルであることを表示する命令です。
2. os.path.splitext メソッドを使う方法
splitext()関数は、ファイル名から拡張子を取得するための関数であり、拡張子を判別する際に有用です。
【サンプルコード】
import os
filename = "example.txt"
base_name, extension = os.path.splitext(filename)
print(extension) # Output: .txt
import osは、osモジュールをインポートしています。
filename = "example.txt"は、テキストファイルの名前を示しており、このファイル名を使用して拡張子を確認します。
base_name, extension = os.path.splitext(filename)は、ファイル名と拡張子に分割する命令で、print(extension)は、取得した拡張子を表示する命令です。
3. mimetypes モジュールを使う方法
guess_type関数を使用して、ファイルの拡張子からMIMEタイプを推測できます。
【サンプルコード】
from mimetypes import guess_type
mime_type, encoding = guess_type("example.csv")
print(mime_type) # Output: 'text/csv'
from mimetypes import guess_typeは、mimetypesモジュールからguess_type関数をインポートしています。
mime_type, encoding = guess_type("example.csv")は、ファイルのMIMEタイプとエンコーディングを取得しています。
print(mime_type)は、取得したMIMEタイプを表示する命令です。
4. ファイルの中身を調べる方法
ファイルのヘッダを調べることで、拡張子が信用できない場合や拡張子のないファイルも判別できます。
【サンプルコード】
def is_txt(file_path):
with open(file_path, 'rb') as f:
header = f.read(4)
return header.startswith(b'TEXT')
def is_txt(file_path):は、テキストファイルかどうかを確認する関数を定義しています。
with open(file_path, 'rb') as f:は、ファイルをバイナリモードで読み込む命令で、header = f.read(4)は、ファイルの最初の4バイトを読み込む命令です。
return header.startswith(b'TEXT')は、読み込んだヘッダが'TEXT'で始まっているかどうかを確認する命令です。
拡張子の判別方法を複数あるので、場面場面で適切に使い分けられるよう、しっかり理解しておく事をおすすめします。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
Gitでブランチ(branch)を作成する方法
crontabの書き方
PDFをExcelに変換する方法
Excelでプルダウンを設定する方法
エクセルでページ区切りを設定する方法
Markdownの取り消し線の書き方
ラズベリーパイでできること9選
Gitでbranch(ブランチ)を削除する方法をローカル・リモート別に解説
git addの取り消し方法を状況別に解説
CSSのstickyプロパティでWebサイトに固定要素を実装する方法
ITやプログラミングに関するニュース
アイアール技術者教育研究所がエクセルギー解析計算ウェビナーを開催、省エネと環境負荷低減に貢献
フラー株式会社がアプリ市場トレンド解説ウェビナーを3月25日に開催、成長アプリの共通項とデータ活用を解説
株式会社BOTANICOが2026年版X運用最新戦略ウェビナーを開催、成果につなげる資産型運用を解説
AIストーム株式会社がOpenClaw活用セミナーを開催、AIエージェントがビジネス現場を変革
株式会社オロが建設コンサルティング業向けウェビナーを開催、技術部門の損益可視化を支援
アルティウスリンク株式会社が経理向けBPO活用ウェビナーを開催、課題解決と業務効率化を支援
株式会社日本計画研究所がAI時代のインフラセミナー開催、GPUとデータセンターの課題を解説
株式会社カウンターワークスがリーシング業務AI活用ウェビナー開催、既存ツールでAIエージェント実践
株式会社セキドがDJI産業機セミナーを福井で開催、3Dデータ活用と機材選定を無料解説
株式会社ナビットが補助金活用ウェビナーを開催、販促費削減と集客力向上を解説
