如何在没有一些特殊扩展的情况下获取文件名python

时间:2019-02-20 15:22:03

标签: python python-3.x

我有一个带有特殊扩展名的文件。有时是“ .exe”,“ exe.gz”或“ exe.tar.gz” ...我只想获取文件名。我正在使用以下代码获取文件名abc,但不能在所有情况下都起作用

import os
filename = 'abc.exe'
base = os.path.basename(filename)
print(os.path.splitext(base)[0])
filename = 'abc.exe.gz'
base = os.path.basename(filename)
print(os.path.splitext(base)[0])

请注意,我知道扩展名列表,例如['.exe','exe.gz','exe.tar.gz', '.gz']

2 个答案:

答案 0 :(得分:1)

您可以将toString()字符拆分为第一个元素:

.

答案 1 :(得分:1)

这样的解决方法如何?

suffixes = ['.exe','.exe.gz','.exe.tar.gz', '.gz']
def get_basename(filename):
    for suffix in suffixes:
        if filename.endswith(suffix):
            return filename[:-len(suffix)]
    return filename