当前位置: 首页 > 知识库问答 >
问题:

如何在Python中从文件路径提取文件夹路径?

方琦
2023-03-14

我只想从文件的完整路径中获取文件夹路径。

例如T:\Data\DBDesign\DBDesign_93_v141b.mdb,我希望只得到T:\Data\DBDesign(不包括\DBDesign_93_v141b.mdb)。

我曾经尝试过这样的事情:

existGDBPath = r'T:\Data\DBDesign\DBDesign_93_v141b.mdb'
wkspFldr = str(existGDBPath.split('\\')[0:-1])
print wkspFldr 

但它给了我这样一个结果:

['T:', 'Data', 'DBDesign']

这不是我需要的结果(是T:\Data\DBDesign)。

关于如何获取文件路径有什么想法吗?

共有3个答案

梅飞宇
2023-03-14

内置子模块os.path有一个用于该任务的函数。

import os
os.path.dirname('T:\Data\DBDesign\DBDesign_93_v141b.mdb')
袁河
2023-03-14

带PATHLIB模块(更新答案)

人们应该考虑使用PATLIB进行新的开发。它在Python3.4的stdlib中,但在PyPI的早期版本中可用。此库提供了一种更面向对象的方法来操作路径

>>> import pathlib
>>> existGDBPath = pathlib.Path(r'T:\Data\DBDesign\DBDesign_93_v141b.mdb')
>>> wkspFldr = existGDBPath.parent
>>> print wkspFldr
Path('T:\Data\DBDesign')

OS模块

使用os.path模块:

>>> import os
>>> existGDBPath = r'T:\Data\DBDesign\DBDesign_93_v141b.mdb'
>>> wkspFldr = os.path.dirname(existGDBPath)
>>> print wkspFldr 
'T:\Data\DBDesign'

您可以继续,假设如果您需要进行某种文件名操作,它已经在os.path中实现了。如果没有,您可能仍然需要使用这个模块作为构建块。

龙永福
2023-03-14

通过使用split函数,您几乎做到了这一点。您只需要连接字符串,如下所示。

>>> import os
>>> '\\'.join(existGDBPath.split('\\')[0:-1])
'T:\\Data\\DBDesign'

虽然,我建议使用os.path.dirname函数来实现这一点,但您只需要传递字符串,它就会为您完成这项工作。由于您似乎在windows上,因此也可以考虑使用abspath函数。一个例子:

>>> import os
>>> os.path.dirname(os.path.abspath(existGDBPath))
'T:\\Data\\DBDesign'

如果分割后需要文件名和目录路径,可以使用os.path.split函数返回元组,如下所示。

>>> import os
>>> os.path.split(os.path.abspath(existGDBPath))
('T:\\Data\\DBDesign', 'DBDesign_93_v141b.mdb')
 类似资料:
  • 问题内容: 我只想从完整路径到文件获取文件夹路径。 例如,我想要得到(不包括)。 我已经尝试过这样的事情: 但是它给了我这样的结果: 这不是我需要的结果(为)。 关于如何获取文件路径的任何想法? 问题答案: 您几乎可以使用该功能了。您只需要加入字符串,如下所示。 虽然,我建议使用该函数来执行此操作,但是您只需要传递字符串即可,它将为您完成工作。由于您似乎在Windows上,因此也考虑使用该功能。一

  • 问题内容: 无论使用哪种操作系统或路径格式,我都可以使用哪个Python库从路径提取文件名? 例如,我希望所有这些路径可以返回我: 问题答案: 使用或建议使用并非在所有情况下都可行:如果你在Linux上运行脚本并尝试处理经典的Windows样式路径,它将失败。 Windows路径可以使用反斜杠或正斜杠作为路径分隔符。因此,该模块(在Windows上运行时等效于)将适用于所有平台上的所有(1)路径。

  • 我想从SD卡文件路径中获取文件名。e、 g.:/storage/sdcard0/DCIM/Camera/1414240995236。jpg我想得到1414240995236。jpg我已经编写了获取相同内容的代码,但它不起作用。请帮忙<下面是我的代码:

  • 问题内容: 我需要在WebContent目录中获取文件的真实路径,以便我使用的框架可以访问该文件。它仅将String文件作为属性,因此我需要在WebContent目录中获取此文件的真实路径。 我使用Spring Framework,因此应该可以在Spring中解决。 问题答案: 如果您在servlet中需要此功能,请使用!

  • 当程序运行时,变量是保存数据的好方法,但变量、序列以及对象中存储的数据是暂时的,程序结束后就会丢失,如果希望程序结束后数据仍然保持,就需要将数据保存到文件中。 Python 提供了内置的文件对象,以及对文件、目录进行操作的内置模块,通过这些技术可以很方便地将数据保存到文件(如文本文件等)中。 关于文件,它有两个关键属性,分别是“文件名”和“路径”。其中,文件名指的是为每个文件设定的名称,而路径则用

  • 我有一个带有图形编辑器的项目(如GMF技术),我需要读取一个文件。Jar库位于项目的类路径上。 VectorSync_1.0.0.201403121100.jar具有如下结构: 矢量同步: 图标/矢量同步。gif 这个导入的项目的类路径。Jar文件是: 我使用此方法尝试访问. xml文件: 但使用的方法始终返回null。 你能帮我解决这个问题吗 谢谢