如何删除最终的所有字符

时间:2016-11-28 12:23:00

标签: python python-2.7 split

我有一个名为dllName的变量,用于获取已执行的dll的名称。有时,此dll的格式为"kernel32.dll",有时为"C:\Windows\system32\kernel32.dll"

路径可能会有所不同,我想要实现的是剥离"C:\Windows\system32\"

编辑:Extract file name from path, no matter what the os/path format

我的问题与这个问题不一样,因为os.path.basename和os.path.split在这种情况下不起作用。

对于os.path.split,head是空的,尾部是否包含整个路径?

1 个答案:

答案 0 :(得分:1)

您可以使用:

path = 'C:\\Windows\\system32\\kernel32.dll'
print path.split('\\')[-1]
#=>  kernel32.dll

import os.path
print os.path.basename(path)

import re

def extract_basename(path):
  """Extracts basename of a given path. Should Work with any OS Path on any OS"""
  basename = re.search(r'[^\\/]+(?=[\\/]?$)', path)
  if basename:
    return basename.group(0)

print extract_basename(path)

最后一个示例适用于任何操作系统,任何路径。

Here是一些测试。