2014-10-08 19 views
0

路径 'H:\ OmWPDump_Tue_Oct_07_21_08_13_2014 \ WINDOWS \ SystemsManagementx64 \ SysMgmtx64.msi' os.path.dirname(路径) “H:\ OmWPDump_Tue_Oct_07_21_08_13_2014 \ WINDOWS \ SystemsManagementx64'获取最顶层的父目录在Python

我需要的代码,使其输出最上面的父目录。 : 'h:\ OmWPDump_Tue_Oct_07_21_08_13_2014;

基本上我需要这个位置,以便我删除完整的目录。

回答

0

您可以使用正则表达式:

import re 
path = 'h:\OmWPDump_Tue_Oct_07_21_08_13_2014\windows\SystemsManagementx64\SysMgmtx64.msi' 
match = re.findall(r'.:\\.+\\', path) 
answer = match[0][:-1] 
0

,而不需要额外的模块,最简单的方法是split()路径:

>>> path = r'h:\OmWPDump_Tue_Oct_07_21_08_13_2014\windows\SystemsManagementx64\SysMgmtx64.msi' 
>>> topdir = path.split('\\')[1] 
>>> topdir 
'OmWPDump_Tue_Oct_07_21_08_13_2014' 

如果你潜在的处理UNC路径,那么你可能首先需要检查并确定使用哪个元素(在UNC路径上的split()将返回几个空元素,然后是主机名,然后是您的顶层文件夹)。

编辑: 添加到从路径驱动器:

>>> deldir = os.path.join(os.path.splitdrive(path), topdir) 
>>> deldir 
'h:\\OmWPDump_Tue_Oct_07_21_08_13_2014'