Python

【Python】ファイルパスからファイル名や拡張子を取得する

ファイルの存在チェックなどと同様に、ファイル名、拡張子のチェックなども、ファイル操作を行う前にチェックが必要。

 

ファイル名を取得する

ファイル名を取得する方法は以下の通り。

import os

path_name = "./test/test.csv"

os.path.basename(path_name)

# 実行結果
'test.csv'

最後のパス区切り文字以降をファイル名として取得するため、拡張子がない場合は以下のような動作になる。

path_name = "./test/test"

os.path.basename(path_name)

# 実行結果
'test'

 

basenameだけでは拡張子がついているファイルかどうかは判断できないので注意。

 

ファイルの拡張子を取得する

拡張子を取得する処理は以下の通り。

import os

path_name = "./test/test.csv"

path, ext = os.path.splitext(path_name)

print(path)
print(ext)

# 実行結果
'./test/test'
'.csv'

 

拡張子の前と拡張子以降がタプルとして返ってくる。

なお、拡張子のないファイル(「.」のないファイル)の場合、拡張子部分は空文字(””)が返ってくる。

ディレクトリとファイル名に分割する

パスをディレクトリとファイル名ん分割する処理は以下の通り。

import os

path_name = "./test/test.csv"

path, filename = os.path.split(path_name)

print(path)
print(filename)

# 実行結果
'./test'
'test.csv'

 

最後のパス区切り文字で区切られて、タプルで返ってくる。