在Python中获取文件的文件夹名

2024-04-24 02:52:51 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python中,我应该使用什么命令来获取包含正在使用的文件的文件夹的名称?

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

这里"folder2"是我想要的。

我唯一想到的是使用os.path.split两次:

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

有更好的办法吗?


Tags: 文件path命令文件夹名称osxmlfilename
3条回答

^{}是你要找的-

os.path.dirname(r"C:\folder1\folder2\filename.xml")

确保将r放在字符串前面,以便将其视为原始字符串。

演示-

In [46]: os.path.dirname(r"C:\folder1\folder2\filename.xml")
Out[46]: 'C:\\folder1\\folder2'

如果您只想folder2,可以将^{}与上面的一起使用,例如-

os.path.basename(os.path.dirname(r"C:\folder1\folder2\filename.xml"))

演示-

In [48]: os.path.basename(os.path.dirname(r"C:\folder1\folder2\filename.xml"))
Out[48]: 'folder2'

你想用dirname。如果您只需要一个目录,可以使用os.path.basename

综合起来,它看起来是这样的:

os.path.basename(os.path.dirname('dir/sub_dir/other_sub_dir/file_name.txt'))

这会让你成为“另一个副局长”

下面不是理想的方法,但我最初建议使用os.path.split,并简单地获得最后一项。可能是这样的:

os.path.split(os.path.dirname('dir/sub_dir/other_sub_dir/file_name.txt'))[-1]

您可以使用^{}

os.path.dirname(path)

Return the directory name of pathname path. This is the first element of the pair returned by passing path to the function split().

给定完整路径,然后可以正常分割以获得路径的最后一部分。例如,通过使用^{}

os.path.basename(path)

Return the base name of pathname path. This is the second element of the pair returned by passing path to the function split(). Note that the result of this function is different from the Unix basename program; where basename for '/foo/bar/' returns 'bar', the basename() function returns an empty string ('').


一起:

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

相关问题 更多 >