質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

6713閲覧

フルパスに含まれるディレクトリ名を取得したい

shamimatsu

総合スコア22

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2019/01/09 14:18

下のコードにあるパスの photo や cloud の文字列のみを取得したいです。
一つ上の階層までは取得できたのですが、2つ3つ上となると取得方法がわからなくなってしまいました。
良い方法がございましたら教えていただきたいです。

試したコード

import os JpgFile = r'D:\python\photo\cloud\jpg\test.jpg' dirname = os.path.dirname(JpgFile) r = os.path.basename(dirname) print(r) # これだとjpgまでは取得できます

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

Python3.4以降をご利用なら、pathlibが便利です。

Python

1>>> from pathlib import Path 2>>> 3>>> jpg_path = Path(r'D:\python\photo\cloud\jpg\test.jpg') 4>>> jpg_path.parts 5('D:\', 'python', 'photo', 'cloud', 'jpg', 'test.jpg') 6>>> 7>>> jpg_path.parts[-2] 8'jpg' 9>>> jpg_path.parts[-3] 10'cloud' 11>>> jpg_path.parts[-4] 12'photo' 13>>> 14>>> jpg_path.parts[-4:-1] 15('photo', 'cloud', 'jpg')

投稿2019/01/09 14:24

編集2019/01/09 14:28
LouiS0616

総合スコア35668

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shamimatsu

2019/01/09 14:31

回答ありがとうございます![]でインデックス指定して取り出せて便利ですね。
LouiS0616

2019/01/09 14:35

pathlibはとにかく高機能で、os.pathのみならずshutilやglobなどの機能をも内包しています。 3.4以降ならば使わない手は無いです。
guest

0

ベストアンサー

dirname = os.path.dirname(JpgFile)
dirname = os.path.dirname(dirname)
r = os.path.basename(dirname)

こーだった

投稿2019/01/09 14:22

編集2019/01/09 14:25
y_waiwai

総合スコア88024

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shamimatsu

2019/01/09 14:28

回答ありがとうございます!取得できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問