1. ホーム
  2. python

[解決済み] Pythonでファイルのフォルダ名を取得する

2022-08-22 07:02:03

質問

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

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

ここで "folder2" は私が取得したいものです。

唯一思いついたのが os.path.split を2回使うことです。

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

何か良い方法はないでしょうか?

どのように解決するのですか?

あなたは dirname :

os.path.dirname(path)

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

そして、フルパスが与えられたら、普通に分割してパスの最後の部分を取得することができます。例えば basename :

os.path.basename(path)

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


全員集合

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