删除用点分隔的路径的一部分

时间:2019-07-02 11:11:45

标签: python string

给出一个路径,例如

file_path = 'a.b.c.d.e'

我希望删除e
这是我所做的:

class_path = ('.').join(file_path.split('.')[0:-1])

还有更优雅的方式吗?

3 个答案:

答案 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]