パスが指定されている場合、そのパスを含むフォルダ名だけを抽出するにはどうすればよいでしょうか? 質問する

パスが指定されている場合、そのパスを含むフォルダ名だけを抽出するにはどうすればよいでしょうか? 質問する

Python では、作業中のファイルが含まれているフォルダーの名前を取得するにはどのコマンドを使用すればよいですか?

"C:\folder1\folder2\filename.xml"

"folder2"私が欲しいのはこれです。

私が思いついた唯一の方法は、os.path.split2 回使用することです。

folderName = os.path.split(os.path.split("C:\folder1\folder2\filename.xml")[0])[1]

もっと良い方法はないでしょうか?

ベストアンサー1

使用できますdirname:

os.path.dirname(path)

パス名 path のディレクトリ名を返します。これは、関数 split() に path を渡すことによって返されるペアの最初の要素です。

完全なパスが与えられたら、通常の方法で分割してパスの最後の部分を取得できます。たとえば、basename:

os.path.basename(path)

パス名 path のベース名を返します。これは、関数 split() に path を渡すことによって返されるペアの 2 番目の要素です。この関数の結果は Unix の basename プログラムとは異なることに注意してください。'/foo/bar/' の basename は 'bar' を返しますが、basename() 関数は空の文字列 ('') を返します。


全員一緒に:

>>> import os
>>> path=os.path.dirname("C:/folder1/folder2/filename.xml")
>>> path
'C:/folder1/folder2'
>>> os.path.basename(path)
'folder2'

おすすめ記事