给出一个路径,例如
file_path = 'a.b.c.d.e'
我希望删除e
。
这是我所做的:
class_path = ('.').join(file_path.split('.')[0:-1])
还有更优雅的方式吗?
答案 0 :(得分:4)
import os
os.path.splitext(file_path)[0]
答案 1 :(得分:3)
只需使用str.rfind
函数:
file_path = 'a.b.c.d.e'
file_path = file_path[:file_path.rfind('.')+1]
print(file_path) # a.b.c.d.
如果不需要结尾.
,请删除+1
移位:(file_path[:file_path.rfind('.')]
)。
答案 2 :(得分:3)
例如,如果您想坚持使用string methods,则可以使用 rpartition :
class_path = file_path.rpartition('.')[0]