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

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

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

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

Q&A

解決済

1回答

238閲覧

指定したフォルダの最上位フォルダと任意の数の最上位フォルダから下のフォルダのパスを取得したい

mikumikuDM

総合スコア81

Python

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

0グッド

0クリップ

投稿2022/04/28 15:30

実現したいこと

任意のフォルダもしくはファイルのパスと任意の数字を入れるとそのパスの一番上から見て任意の数だけ下がったフォルダのパスを取得したいです。

任意のフォルダもしくはファイルのパス = D:\ねこフォルダ\黒い猫\一部白い猫\とてもかわいい猫
任意の数字 = 0
ほしいフォルダのパス = D:
任意の数字 = 1
ほしいフォルダのパス =D:\ねこフォルダ
任意の数字 = 2
ほしいフォルダのパス =D:\ねこフォルダ\黒い猫
任意の数字 = 3
ほしいフォルダのパス =D:\ねこフォルダ\黒い猫\一部白い猫

該当のソースコード

一つ上のフォルダを表示についてはやり方の一つとして知っているので例として書いているだけです。他にもやり方はあるかと思います。
最上位フォルダを出力についても一つ例として上げましたが他にいい方法があれば教えてほしいです。
最上位の任意の数の下のフォルダを出力が今回の質問です。numberの数字を変えることで任意の数下がったフォルダのパスを取得できるようにしたいです。

python

1import os 2 3path1 = r"D:\ねこフォルダ\黒い猫\一部白い猫\とてもかわいい猫" 4path2 = r"D:\ねこフォルダ\2次元の猫\天使" 5 6 7#一つ上のフォルダを表示 8 #実行結果 9print(os.path.dirname(path1))#D:\ねこフォルダ\黒い猫\一部白い猫 10print(os.path.dirname(path2))#D:\ねこフォルダ\2次元の猫 11#最上位フォルダを出力 12print(path1[:2]) #D: 13print(path2[:2]) #D: 14#最上位の任意の数の下のフォルダを出力、例として2つしたのフォルダとする 15number = 1 16 #D:\ねこフォルダ 17 #D:\ねこフォルダ 18number = 2 19 #D:\ねこフォルダ\黒い猫 20 #D:\ねこフォルダ\2次元の猫

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

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

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

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

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

ex025

2022/04/28 15:37 編集

path1.split('\') で配列に変換し、任意の数を抽出して再度結合するのはどうでしょう。
guest

回答1

0

ベストアンサー

\splitして、そのリストの添え字[:number+1]で目的の物がリストで得られるので、joinします。

投稿2022/04/28 16:47

otn

総合スコア84538

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

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

mikumikuDM

2022/04/29 12:14

できそうです!ありがとうございました助かります!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問