我只想从文件的完整路径中获取文件夹路径。
例如T:\Data\DBDesign\DBDesign_93_v141b.mdb,我想得到只是T:\Data\DBDesign(不包括\DBDesign_93_v141b.mdb)。
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)。
关于如何获取文件路径的任何想法?
您几乎可以使用该split功能。您只需要加入字符串,如下所示。
split
>>> import os >>> '\\'.join(existGDBPath.split('\\')[0:-1]) 'T:\\Data\\DBDesign'
虽然,我建议使用该os.path.dirname函数来执行此操作,但您只需要传递字符串,它就会为您完成工作。由于您似乎在 Windows 上,请考虑使用该abspath功能。一个例子:
os.path.dirname
abspath
>>> import os >>> os.path.dirname(os.path.abspath(existGDBPath)) 'T:\\Data\\DBDesign'
如果要拆分后的文件名和目录路径,可以使用os.path.split返回元组的函数,如下所示。
os.path.split
>>> import os >>> os.path.split(os.path.abspath(existGDBPath)) ('T:\\Data\\DBDesign', 'DBDesign_93_v141b.mdb')