Python でファイルパスや URL から拡張子を取得する方法です。 Python で拡張子を取得する場合は、os.path.splitext
を使用します。
os.path.splitext の構文
os.path.splitext
は、引数で渡したパスを拡張子とそれ以外のパスに分割する関数で、公式ドキュメントでは次のように定義されています。
パス名 path を (root, ext) のペアに分割します。 root + ext == path になります。 ext は空文字列か 1 つのピリオドで始まり、多くても 1 つのピリオドを含みます。ベースネームを導出するピリオドは無視されます; splitext(’.cshrc’) は (’.cshrc’, ‘’) を返します。
https://docs.python.org/ja/3/library/os.path.html
サンプルコード
さっそく、パスから拡張子を取得するサンプルコードを見てみましょう。
import os
base_path = '/path/to/sample.jpg'
_, ext = os.path.splitext(base_path)
print(ext) #-> .jpg
URL から拡張子を取得する場合は、同じように書けます。
import os
base_path = 'https://exmaple.com/a/sample.html'
_, ext = os.path.splitext(base_path)
print(ext) #-> .html
拡張子がないパスや URL の場合は、 `os.path.splitext` で取得する拡張子は長さ0のブランク文字です。
import os
base_path = 'https://exmaple.com/a/sample'
_, ext = os.path.splitext(base_path)
print(len(ext)) #-> 0
拡張子を除いたファイル名を取得
ディレクトリ名を含むファイルパスから、拡張子を除いたファイル名のみを取得する場合は、次のように書きます。
import os
file_path = "/path/to/myimage.jpg"
path, ext = os.path.splitext(os.path.basename(file_path) )
print(path) #=> myimage
0 件のコメント:
コメントを投稿