我有一个带有特殊扩展名的文件。有时是“ .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']
答案 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