teratailで以前質問させて頂き解決した内容ですが、「フルパスに含まれるフォルダ名を取得」は個人的によく使う内容だったためブログにも残したいと思います。
teratail
python3.4以降だとpathlibが使えるのでわかりやすく取得出来るのですが、仕事の環境によってはmayapy(python2.7)しか使えないこともあると思うのでどちらのやり方も書きました。
広告
python3.4以降の場合
pathlibモジュールを使います。\(バックスラッシュ)で分けてくれるので便利です。
import pathlib
jpg_path = pathlib.Path(r'D:\python\photo\cloud\jpg\test.jpg')
print(jpg_path.parts)
# ('D:\\', 'python', 'photo', 'cloud', 'jpg', 'test.jpg')
"""cloudを取得したい場合"""
print(jpg_path.parts[-3])
"""photoを取得したい場合"""
print(jpg_path.parts[-4])
python2.7の場合
mayaはまだpython2.7でpathlibモジュールは使えないため、別の方法です。
python2.7は力技感がありますね。
# -*- coding: utf-8 -*-
import os
jpg_path = r'D:\python\photo\cloud\jpg\test.jpg'
"""cloudを取得したい場合"""
dirname1 = os.path.dirname(jpg_path)
dirname2 = os.path.dirname(dirname1)
result1 = os.path.basename(dirname2)
print result1
"""
photoを取得したい場合
os.path.dirnameで掘り下げる
"""
dirname3 = os.path.dirname(dirname2)
result2 = os.path.basename(dirname3)
print result2
広告